根据空格分割字符串

时间:2018-08-15 17:07:48

标签: java android regex textutils

(标题可能会误导我。尽管困难的部分总是在寻找合适的标题:D)

好吧,句子只是(长)字符串。我想以相反的方式显示这些句子。例如:"StackOverflow is a community of awesome programmers"将变成"programmers awesome of community a is StackOverflow"

所以我的想法是要有一个定界符,这里是 空白 。只要输入文本并按下空格键,就将该单词保存在一个列表中,即一个ArrayList,然后在textView中以相反的顺序显示它们。

到目前为止,我只能使用一个按钮来输出文本,但不能输出空格(programmersawesomeofcommunityaisStackOverflow)。我使用下面的代码来做到这一点:

@Override
        public void onClick(View v) {
            String[] sentence = input.getText().toString().split(" "); //This split() method is the culprit!
            ArrayList<String> wordArray = new ArrayList<>();
            for (String word : sentence) {
                    wordArray.add(word);
            }
            Collections.sort(wordArray);
            StringBuilder invertedSentence = new StringBuilder();
            for (int i = wordArray.size(); i > 0; i--) {
                invertedSentence.append(wordArray.get(i - 1));
            }
            output.setText(invertedSentence.toString());
        }
    });

当系统检测到空白时,如何将句子自动保存为列表中的拆分词?并在输出语句中添加空格?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

许多评论都有很好的建议,但这是您可以使用的一种方法:

    String[] sentence = new String("StackOverflow is a community of awesome programmers").split(" ");
    ArrayList<String> wordArray = new ArrayList<>();
    for (String word : sentence) {
       wordArray.add(0, word);
    }

    String backwards = String.join(" ", wordArray);
    System.out.println(backwards);

输出

programmers awesome of community a is StackOverflow