Removing whitespace from strings in Java

I have a string like this:

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

I want to remove the whitespaces in the string. I tried trim() but this removes only whitespaces before and after the whole string. I also tried replaceAll("W", "") but then the = also gets removed.

How can I achieve a string with:

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

st.replaceAll("s+","") removes all whitespaces and non-visible characters (eg, tab, n ).


st.replaceAll("s+","") and st.replaceAll("s","") produce the same result.

The second regex is 20% faster than the first one, but as the number consecutive spaces increases, the first one performs better than the second one.


Assign the value to a variable, if not used directly:

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

replaceAll("s","")

w = Anything that is a word character

W = Anything that isn't a word character (including punctuation etc)

s = Anything that is a space character (including space, tab characters etc)

S = Anything that isn't a space character (including both letters and numbers, as well as punctuation etc)

(Edit: As pointed out, you need to escape the backslash if you want s to reach the regex engine, resulting in s .)


The most correct answer to the question is:

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

I just adapted this code from the other answers. I'm posting it because besides being exactly what the question requested, it also demonstrates that the result is returned as a new string, the original string is not modified as some of the answers sort of imply.

(Experienced Java developers might say "of course, you can't actually modify a String", but the target audience for this question may well not know this.)

链接地址: http://www.djcxy.com/p/20960.html

上一篇: C ++性能挑战:整数到std :: string的转换

下一篇: 在Java中删除字符串中的空格