首页 > 解决方案 > 替换正则表达式中的字符时出现问题

问题描述

我刚刚开始掌握正则表达式。我的第一个任务是删除字符串中除 az(大写和小写字母)、0-9 和字符 - \ 之外的所有字符。: 和 ,

所以我尝试了

objInstance.mystring.replaceAll("[^A-Za-z0-9\\- .:,]", "")

但是,这仍然会删除连字符和反斜杠。

我怀疑它的位置 \ 但在这里一些指导会有所帮助。

标签: regex

解决方案


您需要转义反斜杠以及连字符。这些是在正则表达式中有意义的字符,因此您需要对它们进行转义以监控实际字符。

[A-Za-z0-9\\\-.:,]应该是正确的正则表达式。你的还有一个空格,你的问题中没有提到它,所以我也删除了它。您的正则表达式中还有一个^字符。这表示字符串的开始,同样因为您的问题中没有提到这一点,所以我在正则表达式中删除了它。


推荐阅读