【问题标题】:how to check a string for a special character in Java [duplicate]如何在Java中检查字符串中的特殊字符[重复]
【发布时间】:2011-11-15 20:57:54
【问题描述】:

可能重复:
JAVA: check a string if there is a special character in it

我正在测试一种将字符串转换为另一个字符串的方法,但它会保留所有特殊字符(非字母数字)。

因此,我希望测试此方法的输出,以确保它实际上保留了这些字符。
我知道这需要使用 PatternMatcher 类,但不确定如何使用。
我想我需要构建一个格式模板,用Pattern 编译它,然后用我的测试方法的输出字符串将它与Matcher 一起使用 .
因此,我将逐个字符地构建格式模板。对于数字和字符,我可以使用 Character 类的 IsLetter 和 IsDigit 并在我的模板中插入 "\\d" 作为数字。
不确定我应该为字母和特殊字符使用什么。

有什么想法吗?

谢谢。

【问题讨论】:

  • 定义“保留” - 这是否意味着 "abc!d." --> " ! .""abc!d." --> "!." 或其他什么?请给出样本输入输出数据

标签: java


【解决方案1】:

您应该编写将所有禁止字符替换为空的模式并使用String.replaceAll() 方法。类似于以下内容:

str = str.replaceAll("[^\\w_\\d]", "");

【讨论】:

  • fyi,\w includes _\d,所以 [^\\w] 与您的正则表达式相同
猜你喜欢
  • 1970-01-01
  • 2016-01-14
  • 2013-11-27
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多