删除除""之外的所有空格字符

Rya*_*chi 13 java regex

我认为自己对正则表达式非常好,但是这个看起来非常棘手:我想修剪所有空格,除了空格字符:' '.

在Java中,我尝试过的RegEx是:[\s-[ ]],但这个也脱掉了' '.

更新:

这是我试图从中删除空格的特定字符串:

project team                manage key

注意:它将是"团队"和"管理"之间的字符.编辑此帖子时它们显示为长空格,但在视图模式下查看为单个空格.

Mar*_*ers 24

尝试使用此正则表达式:

[^\S ]+
Run Code Online (Sandbox Code Playgroud)

由于双重否定,阅读有点令人困惑.正则表达式[\S ]匹配您要保留的字符,即空格或任何不是空格的字符.因此,否定的字符类[^\S ]必须匹配您要删除的所有字符.


Col*_*inD 7

使用番石榴 CharMatcher:

String text = ...
String stripped = CharMatcher.WHITESPACE.and(CharMatcher.isNot(' '))
    .removeFrom(text);
Run Code Online (Sandbox Code Playgroud)

如果你真的只想从字符串的开头和结尾剪掉(比如String.trim())你要使用trimFrom而不是removeFrom.