java正则去掉空格_使用正则表达式从 Java 中删除字符串中的空格

问题

我有一个像这样的字符串:

mysz = "name=john age=13 year=2001";

我想删除字符串中的空格。我试过trim()但这只删除了整个字符串之前和之后的空格。我也试过replaceAll("\\W","")但是=也被删除了。

如何通过以下方式实现字符串:

mysz2 = "name=johnage=13year=2001"

#1 热门回答(1128 赞)

st.replaceAll("\\s","")删除所有空格和不可见字符(例如,tab,\n)。

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

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

如果不直接使用,请将值分配给变量:

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

#2 热门回答(218 赞)

replaceAll("\\s","")

\w =任何单词字符

\W =任何不是单词字符的东西(包括标点等)

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

\S =任何不是空格字符的东西(包括字母和数字,以及标点符号等)

(编辑:正如所指出的,如果你想让\s到达正则表达式引擎,你需要转义反斜杠,结果是'\s`。)

#3 热门回答(93 赞)

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

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

我刚从其他答案中修改了这段代码。我发布它是因为除了正是所要求的问题之外,它还演示了346668455结果作为新字符串返回,原始字符串未被修改**as的一些答案有点暗示。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值