https://stackoverflow.com/questions/5455794/removing-whitespace-from-strings-in-java
问题
删除Java字符串中的空格
描述
我有一个像这样的字符串:
mysz = "name=john age=13 year=2001";
我想删除字符串中的空格。我试过trim()
但这只删除了整个字符串之前和之后的空格。我也尝试了replaceAll("\\W", "")
但是=也被删除了。
如何才能实现下面的字符串:
mysz2 = "name=johnage=13year=2001"
回答
st.replaceAll("\\s+","")
删除所有空格和不可见字符(例如:Tab
,\n
)。
st.replaceAll("\\s+","")
和st.replaceAll("\\s","")
可以产生相同的结果。
第二个正则表达式比第一个正则表达式快20%,但随着连续空格数量的增加,第一个正则表达式优于第二个正则表达式。
如果不能直接使用,请将值分配给变量:
st = st.replaceAll("\\s+","")
回答2
replaceAll("\\s","")
\w
=任何单词字符
\W
=任何不是单词字符的东西(包括标点符号等)
\s
=任何空格字符(包括空格,制表符等)
\S
=任何不是空格字符的东西(包括字母和数字,以及标点符号等)
(注:正如上面所指出的,如果你想要\s
到达正则表达式引擎,你需要转义反斜杠,填入\\s
。)