为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中从字符串中删除空格

在Java中从字符串中删除空格

莫回无 2019-06-23 16:05:22
在Java中从字符串中删除空格我有一根这样的绳子:mysz = "name=john age=13 year=2001";我想删除字符串中的空格。我试过trim()但这只删除整个字符串之前和之后的空格。我也试过replaceAll("\\W", "")但之后=也会被移除。如何使用以下方法实现字符串:mysz2 = "name=johnage=13year=2001"
查看完整描述

6 回答

?
慕工程1480053

TA贡献3条经验 获得超0个赞

666

查看完整回答
反对 回复 2021-03-18
?
忽然笑

TA贡献1806条经验 获得超5个赞

st.replaceAll("\\s+","")移除所有空白空间和不可见字符(例如,选项卡,\n).


st.replaceAll("\\s+","")st.replaceAll("\\s","")产生同样的结果。

第二个正则表达式比第一个快20%,但是随着连续空格数的增加,第一个比第二个更好。


如果不直接使用,则将值赋值给变量:

st = st.replaceAll("\\s+","")


查看完整回答
反对 回复 2019-06-23
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

replaceAll("\\s","")

\w=任何单词字符

\W=任何不是单词字符的事物(包括标点符号等)

\s=任何空格字符(包括空格、制表符等)

\S=任何非空格字符(包括字母和数字,以及标点符号等)

(编辑:正如所指出的,如果你想要的话,你需要转义反斜杠。\s到达regex引擎,从而导致\\s.)


查看完整回答
反对 回复 2019-06-23
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

对这个问题最正确的答案是:

String mysz2 = mysz.replaceAll("\\s","");

我只是从其他答案中修改了这段代码。我之所以发这篇文章,是因为它不仅是问题所要求的,而且也证明了结果作为新字符串返回,原始字符串不被修改。正如一些答案所暗示的。

(有经验的Java开发人员可能会说:“当然,您实际上不能修改字符串”,但是这个问题的目标受众可能不知道这一点。)


查看完整回答
反对 回复 2019-06-23
  • 6 回答
  • 0 关注
  • 1504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信