Android-java-count单词

Android-java-count单词,java,android,string,Java,Android,String,我有一个编辑文本,我想数一数其中的单词。当文本中有新行时,出现了一些错误 我试过这个: String[] WC = et_note.getText().toString().split(" "); Log.i("wordcount", "wc: " + WC.length); 这是一个文本->wc:4 这是 a 文本->工作区:4 这是 简单的 文本->工作区:4 有什么想法吗?您想在任意的空白字符串上拆分,而不仅仅是空格字符。因此,使用.split(“\\s+”)而不是.split(“”),

我有一个编辑文本,我想数一数其中的单词。当文本中有新行时,出现了一些错误

我试过这个:

String[] WC = et_note.getText().toString().split(" ");
Log.i("wordcount", "wc: " + WC.length);
这是一个文本->wc:4

这是

a

文本->工作区:4

这是

简单的

文本->工作区:4


有什么想法吗?

您想在任意的空白字符串上拆分,而不仅仅是空格字符。因此,使用
.split(“\\s+”)
而不是
.split(“”

,这甚至适用于多个空格、前导空格和/或尾随空格以及空行:

String words = str.trim();
if (words.isEmpty())
return 0;
return words.split("\\s+").length; // separate string around spaces  
如果可以使用空格分隔词以外的词,也可以在此处使用\\W而不是\\s。

我建议使用。根据我的经验,这是覆盖非标准语言(如日语)的最好方法,因为日语中没有空格分隔单词


单词计数示例。

我在Kotlin中创建了一个简单的字符串扩展函数,该函数使用BreakIterator。结帐我的