java - 如何替换所有非字母字符并保留空格?
问题描述
我正在尝试替换字符串中不是字母的所有字符,但保留单词之间的空格。
我到目前为止的代码:
String newWords = words.replaceAll("[^A-Za-z0-9 ]", "");
我也试过这个:
[^a-zA-Z0-9\\s]
代码的问题在于它删除了字符串中除数字之外的所有内容。
解决方案
它会删除 87.97 之间的点,但不会删除数字本身
[^...]
表示除 之外的所有字符。所以[^A-Za-z0-9 ]
意味着:匹配(并替换/删除)除 A-Z
a-z
0-9
and之外的所有内容space
。换句话说,这些字符受到保护,不会被删除。
如果您还想删除数字(数字系列)0-9
,请从您的正则表达式中删除。
String newWords = words.replaceAll("[^A-Za-z ]", "");
推荐阅读
- php - 如何使用分页防止帖子在帖子存档中随机重复
- ignite - 运行两个 ignite 服务器时出现 classNotFoundException
- groovy - 如何使用 for 循环从 TestSuite 仅调用 1 个测试步骤或如何仅在 3 个测试套件中的 2 个测试套件中添加断言
- python - 如何在python脚本函数内部的sql查询中传递多个命令行参数或系统参数?
- or-tools - 使用 ortools for python 选择列表的最小值或最大值
- two-factor-authentication - 如何确保 TOTP 的用户密钥有效?
- c# - 如何使对象仅旋转一次 360 度?
- java - 从 Map 中的 Lists 中删除重复的元素
- javascript - b-table 在“取消移动”新行时重新加载嵌套组件(但不是在“推送”时)
- asp.net-core-2.0 - 在 .net core 2.1.6 中将 Microsoft.aspnetcore.all 更改为 Microsoft.NETCore.App 后,UseLibuv 选项消失了