Skip to content

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.



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.