我需要数字。从字符“>”开始到“:”
例如:我有这一行:>用户说:大家好
我想知道如何计算以“>”开头的选择总数并完成“:”
实际上,我在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);
有人可以帮帮我吗?问候
答案 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;
此代码假设您只关心第一次“>”并且“:”出现,并且“>”之后总有一个空格在“:”之前