我坚持从字符串数组中获取每个单词,这是代码的一部分:
String wordS[] = mystring.split(" ");
然后我想获取 wordS[] 中存储的每个单词,然后将 wordS[] 中存储的每个单词转换为 String
例子 :
mystring = " hi everyone how are you "
String[] wordS = mystring.split(" ");
String word1 = word1 from wordS[](Hi)
String word2 = word2 from wordS[](eeryone)
String word3 = word3 from ... for max 20 strings wich contain 1 word
编辑 :
这是我的代码:
String txt = tv.getText().toString();
Pattern mat = Pattern.compile("(?<=\\^)([^0-9]+[0-9]+)|([^^0-9]+$)");
Matcher m = mat.matcher(txt);
while (m.find())
{
String match = m.group();
String n= match.replaceFirst("^[^0-9]+", "");
if (n.length() >= 1)
{
int i = Integer.parseInt(n);
switch (i)
{
case 0:
s = "<font color ='black'>";
break;
case 1:
s = "<font color ='red'>";
break;
case 2:
String green = "#7CFC00";
s = "<font color ='" + green + "'>";
break;
case 3:
String gold ="#FFD700";
s = "<font color ='" + gold + "' >";
break;
case 4:
s = "<font color ='blue' >";
break;
case 5:
String cyan ="#00FFFF";
s = "<font color ='" + cyan + "' >";
break;
case 6:
String magenta ="#FF00FF";
s = "<font color ='" + magenta + "' >";
break;
case 7:
String peru ="#FFC0CB";
s = "<font color ='" + peru + "' >";
break;
case 8:
String gray ="#808080";
s = "<font color ='" + gray + "' >";
break;
case 9:
String orange ="#FFA500";
s = "<font color ='" + orange + "' >";
break;
default:
s = "<font color ='white'>";
}
String replace = match.replaceFirst("[0-9]+$", "");
String[] wordS = replace.split(" ");
showf.setText(Html.fromHtml(s + "" + replace + "</font>"));
}
else
{
showf.setText(match.replaceFirst("[0-9]+$", ""));
}
}
这个函数是对字符串的一部分进行着色,它会检测用户是否输入了 ^test2 <-- "2" = int 来分配颜色。如果 y type: ^blablabla5 它将返回青色文本颜色。工作正常,但现在我想更新我的函数示例,如果我输入: ^word4 ^secondword6 我的函数只会返回最后一个单词,但我想要用户输入的所有单词你有什么想法吗?