字串處理:下劃線,多空格變單空格,統計單詞出現個數
假設使用者輸入的字串只有小寫字母,空格和數字,請編寫程式對使用者輸入的串進行處理,規則如下:
- 把每個單詞的首字母變為大寫
- 把數字與字母之間用下劃線字元”_”分隔開
- 把單詞間有多個空格的調整為一個空格
- 統計處理後的字串每個單詞出現次數
輸入: we are we 2family2
輸出: We Are We 2_family_2
思路:
1. 難點在於找出單詞首字母: “空格+字母”標記為單詞首字母.
當然得考慮第一個單詞,其屬於邊界情況,要特殊處理
2. 難點在於如何找出數字和字母相連的情況:索引index和index+1對應的字元分別為a-z和0-9;或0-9和a-z
3. 判斷單詞間有多個空格:str[index]==’ ‘&&str[index+1]==’ ‘,找到之後,刪之.
4. 用hashmap:將每個單詞放進hashmap中,統計每個單詞出現的次數.
可執行程式碼:
package bb2;
import java.util.ArrayList;
import java.util.Scanner;
public class subString {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s=(new Scanner(System.in)).nextLine();
ArrayList <Character>list=new ArrayList<Character>();
for(int i=0;i<s.length();i++){
list.add(s.charAt(i));
}
int index=0;
while(index+1<list.size()){
if(index==0&&list.get(index)>='a'&&list.get(index)<='z'){
list.set(index, (char)(list.get(index)-32));
}
else if((list.get(index)==' ')&&list.get(index+1)==' '){
list.remove(index+1);
index--;
}
else if(list.get(index)==' '&&list.get(index+1)>='a'&&list.get(index+1)<='z'){
list.set(index+1, (char)(list.get(index+1)-32));
}
else if(list.get(index)>='0'&&list.get(index)<='9'&&list.get(index+1)>='a'&&list.get(index+1)<='z'){
list.add(index+1,'_');
index++;
}
else if(list.get(index+1)>='0'&&list.get(index+1)<='9'&&list.get(index)>='a'&&list.get(index)<='z'){
list.add(index+1, '_');
index++;
}
index++;
}
for(int i=0;i<list.size();i++){
System.out.print(list.get(i));
}
}
}
相關文章
- word空格處不顯示下劃線
- JavaScript將字串中的多個空格縮減為一個空格JavaScript字串
- C# 字串中多個連續空格轉為一個空格C#字串
- PHP 後臺處理 JSON_encode 引數有空格,JS 輸出變 空格 變 + (加號)問題PHPJSON
- 統計一個字串中的單詞的個數,並列印各個單詞字串
- Python-按空格分割,多個空格當一個空格Python
- shell 給字串增加單引號,並移除字串中多餘的空格字串
- CSS 的空格處理CSS
- html中如何輸出多個空格HTML
- javascript將字串中的多個空格替換為一個空格的正則例項JavaScript字串
- 如何讓字串中奇怪的空格現出原形字串
- 替換空格 將一個字串中的空格替換成“ ”字串
- vue顯示多個空格Vue
- JS去掉字串空格JS字串
- windows bat系列11:for處理案例四 去掉字串中的空格WindowsBAT字串
- 去掉變數的前後空格變數
- python 統計文章單詞個數Python
- 統計檔案中單詞個數
- HTML如何輸入多個空格HTML
- iOS 字串過濾空格iOS字串
- python 統計文章單詞個數-1Python
- python 統計文章單詞個數 -2Python
- C++ 統計單詞數C++
- js統計字串中單次的個數JS字串
- Linux驅動程式:統計單詞個數Linux
- Problem 4:替換空格(字串)字串
- ABAP字串拼接保留空格字串
- Python如何去掉字串空格?Python字串
- 程式設計師福音-英文大小寫轉換,駝峰下劃線空格小數點互轉程式設計師
- 統計檔案中出現的單詞次數
- **呼叫MapReduce對檔案中各個單詞出現的次數進行統計**
- Linux 下如何處理包含空格和特殊字元的檔名Linux字元
- SHELL技巧:處理檔名中的那些空格
- MySQL實現刪除資料左右空格trim() 左空格ltrim() 右空格rtrim()MySql
- spark下統計單詞頻次Spark
- 呼叫MapReduce對檔案中單詞出現次數進行統計
- js統計陣列中單詞出現次數程式碼例項JS陣列
- 簡單的字串處理字串