java - 保持大写/小写字符和空格的正则表达式?
问题描述
我需要解析一些文本,我在 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 的结果。为此,只需.trim()
在 replaceAll() 之后添加。你最终会得到这样的东西:
String parsedValue = selectedValue.replaceAll("[^A-Za-z ]", "").trim();
推荐阅读
- xcode - 在 Xcode 中错误地删除了整个项目的引用
- android - 如何从 sqlite 检索数据到 ListView
- git - 从一个遥控器切换到另一个遥控器后,__git_ps1 只显示提交哈希
- javascript - 合并 2 个数组示例 [a,b,c] [x,y,z] = [a,x,b,y,c,z]
- python - GPflow分类:后验方差的解释
- sql - 如何更新 SQL Server 中的记录,但只能使用参数中的非空值?
- r - 尝试使用 rvest 进行网络抓取时如何修复“UseMethod("xml_find_all") 中的错误”
- python - 版本 Gmsh(版本 >=2)和 Fipy 的问题
- html - AHK 无法加载所有 html
- c# - 为什么类型推断在这种情况下不起作用?