在Java中删除字符串中的空格
我有这样一个字符串:
mysz = "name=john age=13 year=2001";
我想删除字符串中的空格。 我试过trim()
但是这样只删除整个字符串前后的空格。 我也试过replaceAll("W", "")
但是=
也被删除。
我如何实现一个字符串:
mysz2 = "name=johnage=13year=2001"
st.replaceAll("s+","")
将删除所有空格和不可见字符(例如,标签, n
)。
st.replaceAll("s+","")
和st.replaceAll("s","")
产生相同的结果。
第二个正则表达式比第一个正则表达式快20%,但随着连续空间数量的增加,第一个正则表现比第二个更好。
如果不直接使用,则将值赋给变量:
st = st.replaceAll("s+","")
replaceAll("s","")
w
=任何一个字的字符
W
=任何不是单词的字符(包括标点符号等)
s
=任何空格字符(包括空格,制表符等)
S
=任何不是空格字符(包括字母和数字,以及标点符号等)
(编辑:正如指出的那样,你需要的,如果你想逃避反斜杠s
到达正则表达式引擎,导致s
。)
这个问题的最正确答案是:
String mysz2 = mysz.replaceAll("s","");
我只是修改了其他答案中的代码。 我发布它,因为除了正是所要求的问题外,它还表明结果是作为新字符串返回的,原始字符串没有被修改,因为某些答案意味着某种意思。
(有经验的Java开发人员可能会说“当然,你实际上不能修改字符串”,但这个问题的目标受众可能不知道这一点。)
链接地址: http://www.djcxy.com/p/20959.html上一篇: Removing whitespace from strings in Java
下一篇: Why in Java 8 split sometimes removes empty strings at start of result array?