在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?