去除Java字符串中的空格
問(wèn)題:去除Java字符串中的空格
俺有一個(gè)像這樣的字符串
mysz = "name=john age=13 year=2001";我想要去除字符串里面的空格。我嘗試使用 trim() ,但是呢它只去除了字符串前后的空格。我也嘗試用
("\W", “”),但是它把=也給搞掉了。
我怎么樣才能搞出這樣一個(gè)字符串啊?
mysz2 = “name=johnage=13year=2001”
回答一
The most correct answer to the question is:
這個(gè)問(wèn)題最正確的答案就是:
我只是這個(gè)代碼從其他答案里找到這個(gè)代碼的。我放上來(lái)是因?yàn)檫@個(gè)代碼除了準(zhǔn)確地完成了題目的要求以外,它也說(shuō)明了這個(gè)結(jié)果是作為一個(gè)新字符串返回的,源字符串沒(méi)有像其他代碼那樣被修改
(經(jīng)驗(yàn)豐富的Java開(kāi)發(fā)者可能會(huì)說(shuō)“當(dāng)然啦,你不能真正修改一個(gè)字符串",但是這個(gè)問(wèn)題的目標(biāo)看客可能不會(huì)太清楚這個(gè))
回答二
st.replaceAll("\s+","")清楚所有的空格和看不見(jiàn)的字符(例如 tab, \n).
st.replaceAll("\s+","") 和 st.replaceAll("\s","")產(chǎn)生的效果是一樣的
第二個(gè)正則表達(dá)式大概比第一個(gè)快20%,但是隨著空格數(shù)目的增加,第一個(gè)的表現(xiàn)可能會(huì)優(yōu)于第二個(gè)的
把這個(gè)值分配給一個(gè)變量,如果你不直接使用的話
st = st.replaceAll("\s+","")
回答二
replaceAll("\\s","")\w = 所有單詞字符
\W = 所有非單詞字符(包括各種標(biāo)點(diǎn)符號(hào))
\s = 任何空白字符 (包括空格, tab 等等)
\S = 任何非空白字符 (包括數(shù)字字母標(biāo)點(diǎn)符號(hào)等等etc)
(正如上面指出的那樣,如果你想要 \s到達(dá)正則表達(dá)式引擎,你就需要轉(zhuǎn)義字符,所以寫成 \s)
文章翻譯自Stack Overflow:https://stackoverflow.com/questions/5455794/removing-whitespace-from-strings-in-java
總結(jié)
以上是生活随笔為你收集整理的去除Java字符串中的空格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 经常做梦梦到同一个人是什么原因
- 下一篇: 总是梦到暗恋的人是怎么回事