java - 解析并删除java正则表达式中的特殊字符

标签 java regex

所以我们正在查看其他一些正则表达式帖子,但在一个实例中我们无法删除特殊情况;特殊字符在单词的开头。

我们的代码中有以下行:

String k = s.replaceAll("([a-z]+)[()?:!.,;]*", "$1");

其中 s 是一个单数词。例如,当通过标记化来解析句子“(hi hi hi)”,然后对每个标记执行 replaceAll 函数时,我们得到的输出是:

(hi
hi
hi

我们的正则表达式中缺少什么?

最佳答案

您可以使用更简单的方法 - 用空格替换您想要的字符:

String k = s.replaceAll("[()?:!.,;]+", " ");

关于java - 解析并删除java正则表达式中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857360/

相关文章:

Java 按钮全屏

java - 当 JFrame 包含 GridLayout 时,我可以为 JFrame 设置特定的边框大小吗?

c# - 不使用 RegexOptions 枚举的不区分大小写的正则表达式

php - 使正则表达式全有或全无

mysql - 使用 REGEXP (MySql) 在单词边界内查询以字符串开头/结尾的记录

java - 将 ThreadLocal 传播到从 ExecutorService 获取的新线程

java - 是否可以使用 Citrus-Framework 获取字符串形式的 http 响应的内容类型?

java - 开发中如何避免在编译时浪费时间?

Python regex 相似表达式

python - 使用 map() 获取列表元素在 Python 中的字符串中存在的次数