在java中,在不更改空格的情况下反转字符串
我正在一个字一个字地反转字符串,确保所有空格、制表符和空白字符等都没有更改或删除。我尝试了一些使用Java的解决方案,但没有得到好的结果。例如,要转换以下字符串在java中,在不更改空格的情况下反转字符串,java,regex,string,Java,Regex,String,我正在一个字一个字地反转字符串,确保所有空格、制表符和空白字符等都没有更改或删除。我尝试了一些使用Java的解决方案,但没有得到好的结果。例如,要转换以下字符串 The rule about++[] the input stream. 并在不删除任何空白字符的情况下获得这样的输出 ehT elur tuoba++[] eht tupni maerts. 我的代码 String reverseS
The rule about++[] the input
stream.
并在不删除任何空白字符的情况下获得这样的输出
ehT elur tuoba++[] eht tupni
maerts.
我的代码
String reverseString(String str) {
StringBuilder temp = new StringBuilder();
StringBuilder result = new StringBuilder();
for (char ch : str.toCharArray()) {
if (Character.isAlphabetic(ch)) {
temp.append(ch);
} else {
result.append(temp.reverse()).append(ch);
temp.delete(0, temp.length());
}
}
result.append(temp);
return result.toString();
}
我在一个问题上得到了相同的结果,关于+++[]的单词应该是][++tuoba0
其中
它是这样显示的tuoba++[]
。有什么办法解决这个问题吗?++
和[]
不是按字母顺序排列的,所以您对待它们的方式与对待空白的方式相同。可以帮助您解决问题。+
和[]
不是按字母顺序排列的,因此您对待它们的方式与对待空白的方式相同。可以帮助您解决问题。尝试更改
if (Character.isAlphabetic(ch)) {
到
这样,您将包括所有非空白字符。否则,您将只反转[
]
+
不是的字母字符。尝试更改
if (Character.isAlphabetic(ch)) {
到
通过这种方式,您将包括所有非空白字符。否则,您将只反转[
]
++
非空白的字母字符。根据您的预期,预期的输出不应该反转为而不是tuoba++[]
?根据您的预期,预期输出是否应该将[]+
的大约[]+
反转为][++tuoba0
而不是tuoba++[]
?