我需要解析一些文本,我在replaceAll() 方法中使用正则表达式来执行此操作。这是我使用它的行:
String parsedValue = selectedValue.replaceAll("[^A-Za-z]", "");
这几乎是完美的,它从字符串中删除了数字,但是它也删除了空格,我需要保留空格吗?我该如何修改它才能做到这一点?
例如,“Local Police 101”将变为“Local Police”。
最佳答案
你已经很接近了!您只需在“不”列表中添加一个空格,最终会得到 "[^A-Za-z ]"
;
String parsedValue = selectedValue.replaceAll("[^A-Za-z ]", "");
注意正则表达式中小写“z”后面的空格。
编辑:
查看您的示例,您还想删除字符串开头和结尾处的剩余空格。为此,您还需要修剪replaceAll 的结果。为此,只需在replaceAll() 之后添加.trim()
即可。你最终会得到这样的结果:
String parsedValue = selectedValue.replaceAll("[^A-Za-z ]", "").trim();
关于java - 保留大写/小写字符和空格的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50312032/