保留 upper/lower 个大小写字符和空格的正则表达式?

Regex expression that keeps upper/lower case characters AND whitespace?

我需要解析一些文本,我在 replaceAll() 方法中使用 Regex 表达式来执行此操作。这是我使用它的行:

String parsedValue = selectedValue.replaceAll("[^A-Za-z]", "");

这几乎是完美的,它从字符串中删除了数字,但它也删除了空格,我需要保留空格吗?我该如何修改它才能做到这一点?

例如,"Local Police 101" 将变为 "Local Police"。

你太接近了!您只需要在 "not" 列表中添加一个 space,这样您就可以得到 "[^A-Za-z ]";

String parsedValue = selectedValue.replaceAll("[^A-Za-z ]", "");

注意正则表达式中小写 "z" 后面的 space。

编辑: 查看您的示例,您还想删除字符串开头和结尾的剩余 spaces。为此,您还需要 trim replaceAll 的结果。为此,只需在 replaceAll() 之后添加 .trim()。你最终会得到这样的结果:

String parsedValue = selectedValue.replaceAll("[^A-Za-z ]", "").trim();