Kat*_*ine 4 java string split words counting
我正在开发一个程序,用于计算在文本区域中键入或粘贴的单词.如果它没有双倍空格,它会正确计算单词.我使用split方法,并使用for循环对象来计算单词.
这是代码部分最简单的形式,有一些问题......
public static void main(String[] args) {
String string = "Java C++ C#";
String[] str;
int c=0;
str = string.split(" ");
for(String s:str){
if(s.equals(" "))
System.out.println("skipped space");
else{
System.out.println("--"+s);
c++;
}
}
System.out.println("words; " + c);
}
Run Code Online (Sandbox Code Playgroud)
我试图检查对象s中包含的字符串是否是一个空格但我怎么做不起作用.
--Java
skipped space
--C++
--C#
Run Code Online (Sandbox Code Playgroud)
--Java
--
--C++
--C#
words; 4
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何建议?或哪个部分我遇到了问题?提前致谢.
split期待正则表达式.使用它的力量.
str = string.split(" +");
//more sophisticated
str = string.split("\\s+");
Run Code Online (Sandbox Code Playgroud)
\s 匹配任何空格(不仅仅是空格,还有标签.换行等)+ 表示"其中一个或多个"