java - 如何使用正则表达式过滤不需要的字符的字符串?

标签 java regex

基本上,我想知道是否有一个方便的类或方法来过滤不需要的字符的字符串。该方法的输出应该是“清理过的”字符串。即:

String dirtyString = "This contains spaces which are not allowed"

String result = cleaner.getCleanedString(dirtyString);

预期结果是:

"Thiscontainsspaceswhicharenotallowed"

一个更好的例子:

String reallyDirty = " this*is#a*&very_dirty&String"

String result = cleaner.getCleanedString(dirtyString);

我希望结果是:

"thisisaverydirtyString"

因为,我让清洁工知道 ' '、'*'、'#'、'&' 和 '_' 是脏字符。我可以通过使用白/黑列表字符数组来解决它。但我不想重新发明轮子。

我想知道是否已经存在可以使用正则表达式“清理”字符串的东西。而不是自己写这个。

补充: 如果您认为清理字符串可以做得不同/更好,那么我当然也会全神贯注

另一个补充: - 它不仅适用于空格,还适用于任何类型的字符。

最佳答案

根据您的更新编辑:

dirtyString.replaceAll("[^a-zA-Z0-9]","")

关于java - 如何使用正则表达式过滤不需要的字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945695/

相关文章:

java - Eclipse 和 R 中的 StatET

Javascript Regexp - 不接受空格但它应该

python - 如何针对大型规则集(5000 多个且不断增长)构建高效的电子邮件过滤器

java - 调试时 IntelliJ IDEA 停留在 "collecting data"

java - 如何使用 JAXB 序列化多个对象

regex - 用于验证邮政编码格式的 dart 正则表达式

javascript - 使用正则表达式掩码实时控制浮点输入

java - 如何使 EditText 从任何语言而不是符号中获取输入字符

java - 如何在java中使用假数据创建对象?

java - GWT clickHandler - 条件失败