从字符串数组+颜色词中获取每个单词

时间:2013-08-30 19:06:39

标签: java android arrays string split

我很难从字符串数组中获取每个单词 这是代码的一部分:

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&lt; - “2”= int,其中指定了一种颜色。如果类型:^ blablabla5它将返回青色文本颜色。工作正常,但现在我想更新我的函数示例,如果我输入:^ word4 ^ secondword6 我的函数只返回最后一个单词,但我想要用户输入的所有单词 请问你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

更正String数组的用法

String [] words = mystring.split(" ");

然后使用索引获取每个字符串。例如:单词[i]其中i是索引。 因此,您可以只使用Stringwords[0]等而不是声明添加变量,而不是为每个words[1]声明一个单独的String s1 = words[0]; String s2 = words[1]; ... 。与执行以下操作相同:

TextView

关于在TextView中展示,不清楚您希望在TextView text = (TextView) findViewById(Your_Textviw_ID); // you might have declared it in an XML somewhere. text.setText(the_sring_you_want_to_set_it_to); 中展示什么。

{{1}}