Android - java - 计算单词

时间:2012-05-01 19:15:56

标签: java android string

我有一个edittext,我想计算其中的单词。如果edittext中有新行,则会出错。

我试过了:

String[] WC = et_note.getText().toString().split(" ");
Log.i("wordcount", "wc: " + WC.length);

这是一个文字 - > wc:4

这是

text - > wc:4

这是

一个简单的

text - > wc:4

有什么想法吗?

3 个答案:

答案 0 :(得分:9)

您希望拆分任意字符串的空格,而不仅仅是空格字符。因此,请使用.split("\\s+")代替.split(" ")

答案 1 :(得分:3)

我建议使用BreakIterator。根据我的经验,这是覆盖日语等标准语言的最佳方式,因为没有空格可以分隔单词。

字数统计示例here

答案 2 :(得分:0)

即使有多个空格和前导和/或尾随空格和空行,这也可以工作:

String words = str.trim();
if (words.isEmpty())
return 0;
return words.split("\\s+").length; // separate string around spaces  

你也可以在这里使用\\ W而不是\\ s,如果除了空格分隔之外你还可以使用其他东西。