Ryan Delucchi Ryan Delucchi - 1 year ago 88
Java Question

Removing all whitespace characters except for " "

I consider myself pretty good with Regular Expressions, but this one is appearing to be surprisingly tricky: I want to trim all whitespace, except the space character:

' '

In Java, the RegEx I have tried is:
[\s-[ ]]
, but this one also strips out
' '


Here is the particular string that I am attempting to strip spaces from:

project team                manage key

Note: it would be the characters between "team" and "manage". They appear as a long space when editing this post but view as a single space in view mode.

Answer Source

Try using this regular expression:

[^\S ]+

It's a bit confusing to read because of the double negative. The regular expression [\S ] matches the characters you want to keep, i.e. either a space or anything that isn't a whitespace. The negated character class [^\S ] therefore must match all the characters you want to remove.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download