(翻译)Removing whitespace from strings in Java

本文介绍如何在Java中删除字符串中的空格。通过使用正则表达式replaceAll方法,可以有效地移除字符串中的所有空格及不可见字符。文中详细解释了不同正则表达式的用途及其性能差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值