首页 > 解决方案 > 保持大写/小写字符和空格的正则表达式?

问题描述

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

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

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

例如,“Local Police 101”将变为“Local Police”。

标签: javaregexstringwhitespacereplaceall

解决方案


你这么近!您只需要在“不”列表中添加一个空格,因此您最终会得到"[^A-Za-z ]";

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

注意正则表达式中小写“z”后面的空格。

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

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

推荐阅读