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

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

我想知道如何计算以“>”开始并以“:”结尾的选择总数

实际上,我在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);


有人可以帮我吗?问候

最佳答案

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


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

08-17 03:38