计算android中的字符数

时间:2014-08-29 13:37:37

标签: java android string count words

我需要数字。从字符“>”开始到“:”

例如:我有这一行:>用户说:大家好

我想知道如何计算以“>”开头的选择总数并完成“:”

实际上,我在Java中的代码是:

String groupMessage = new String("> User says : Hi people");
String search = new String(">");


TextView groupMessageBox = (TextView) this
        .findViewById(R.id.groupMessageBox);

Spannable WordtoSpan = new SpannableString(groupMessage);

int length = search.length();
String input = WordtoSpan.toString();
int startIndex = input.indexOf(search);
while(startIndex > length)
{
    WordtoSpan.setSpan(new ForegroundColorSpan(Color.rgb(140, 117, 189)), startIndex, startIndex + length,
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    WordtoSpan.setSpan(new StyleSpan(Typeface.BOLD), startIndex, startIndex + length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    startIndex = input.indexOf(search, startIndex + length);
}
groupMessageBox.setText(WordtoSpan);
有人可以帮帮我吗?问候

2 个答案:

答案 0 :(得分:1)

这应该有效:

int length = groupMessage.indexOf(":") - groupMessage.indexOf(">") - 1;

它计算>:之间的每个字符(包括空格)。

答案 1 :(得分:0)

int start = groupMessage.indexOf(">") + 1;
int end = groupMessage.indexOf(":") - 1;
int numWords = groupMessage.substring(start, end).split("\\s+").length;

此代码假设您只关心第一次“>”并且“:”出现,并且“>”之后总有一个空格在“:”之前