Java 基于空格分割字符串
(标题可能有误导性。我一直认为困难的部分是找到合适的标题:D) 嗯,句子只是(长的)字符串。我想以相反的方式展示这些句子。示例:Java 基于空格分割字符串,java,android,regex,textutils,Java,Android,Regex,Textutils,(标题可能有误导性。我一直认为困难的部分是找到合适的标题:D) 嗯,句子只是(长的)字符串。我想以相反的方式展示这些句子。示例:“StackOverflow是一个很棒的程序员社区”将变成“程序员a是StackOverflow” 所以我的想法是有一个分隔符,这里是一个空格。每当输入文本并按下空格键时,将该单词保存在列表、ArrayList中,然后在textView中以相反的顺序显示它们 到目前为止,我只能输出文本,但没有空格(编程人员sawesomeofcommunityaisstackoverf
“StackOverflow是一个很棒的程序员社区”
将变成“程序员a是StackOverflow”
所以我的想法是有一个分隔符,这里是一个空格。每当输入文本并按下空格键时,将该单词保存在列表、ArrayList中,然后在textView中以相反的顺序显示它们
到目前为止,我只能输出文本,但没有空格(编程人员sawesomeofcommunityaisstackoverflow
),只能使用按钮。我使用以下代码来完成此操作:
@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());
}
});
@覆盖
公共void onClick(视图v){
String[]句子=input.getText().toString().split(“”;//这个split()方法就是罪魁祸首!
ArrayList wordArray=新的ArrayList();
for(字符串:句子){
添加(word);
}
Collections.sort(wordArray);
StringBuilder InversedEntence=新StringBuilder();
对于(int i=wordArray.size();i>0;i--){
inversedEntence.append(wordArray.get(i-1));
}
output.setText(invertdsentence.toString());
}
});
当系统检测到空白时,如何将句子(自动)保存在列表中作为分割词?在输出句子中添加空格
谢谢您的时间。许多评论都有很好的建议,但这里有一种方法您可以使用:
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);
为什么要排序
wordArray
?空格的正则表达式是\\s
“
是一个空字符串。它甚至不包含空格。我假设您的意思是“
或”\\s+“
(任何空格,包括制表符等)。此外,在组合倒过来的句子时,您可能还需要添加一些空格,例如,通过invertdsentence.append(“”.append(wordArray.get(i-1))
或者更好地使用Java8的流来反转数组,并使用join(“”
)连接字符串。另一个注意事项是:Collections.sort(wordArray)
不会反转列表,而是对其进行排序,也就是说,您的示例文本将变成一个很棒的程序员社区StackOverflow
(假设其余内容正确)。@Thomas谢谢。我试图找到一种方法来给倒立的桌子加上空格sentence@ElliottFrisch这样我就可以向后循环输出倒装句。我错了String.join
需要AndroidO@esQmo_,您发布的代码似乎拆分为空字符串。这是一个输入错误,因为我没有复制粘贴它。我要解决的问题是,如何让这段代码在android设备版本TextUtils.join
programmers awesome of community a is StackOverflow