Victor Khovanskiy Asked:2020-05-25 22:53:13 +0000 UTC2020-05-25 22:53:13 +0000 UTC 2020-05-25 22:53:13 +0000 UTC 从java中的文本中删除字符 772 如何使用正则表达式从文本中删除除俄语/英语字母、标点符号和空白字符之外的字符?是否有现成的课程(就正则表达式而言)?我想避免直接枚举。 java 2 个回答 Voted Best Answer Евгений Глушков 2020-05-26T01:28:52Z2020-05-26T01:28:52Z 尝试 replaceAll("[[\W[0-9_]]&&[\S]&&[^А-Яа-я-.?!)(,:]]", ""); Mikhail Grebenev 2020-05-26T14:48:23Z2020-05-26T14:48:23Z 正则表达式模式具有预定义的字符组: 预定义的字符类 . - 任何字符(可能匹配也可能不匹配行终止符) \d - 一个数字:[0-9] \D - 非数字:[^0-9] \s - 一个空格字符:[ \t\n\x0B\f\r] \S - 非空白字符:[^\s] \w - 一个单词字符:[a-zA-Z_0-9] \W - 非单词字符:[^\w] 不幸的是,没有现成的字符组可以从字符串中删除除字母、数字和标点符号之外的所有内容。因此,您需要结合起来。 例如像这样: String str = "1 my example str ~ !"; System.out.println("before:" + str); str = str.replaceAll("[^\\w ,.:\"'!\\t]", ""); System.out.println(" after:" + str);
尝试
正则表达式模式具有预定义的字符组:
不幸的是,没有现成的字符组可以从字符串中删除除字母、数字和标点符号之外的所有内容。因此,您需要结合起来。
例如像这样: