【问题标题】:how to find String contain any alphabetic or numeric characters using java? [duplicate]java - 如何使用java查找包含任何字母或数字字符的字符串? [复制]
【发布时间】:2011-07-06 12:06:28
【问题描述】:

可能重复:
Simple way to determine if string is only characters, or to check if string contains any numbers in Java

我想查找给定的字符串是否有任何字母或数字字符。我将如何使用 java 做到这一点?

谢谢

【问题讨论】:

  • “查找”在什么地方?请提供更全面的说明,说明您想要实现的目标和/或示例(如果可能)。
  • 您是否尝试过搜索? stackoverflow.com/questions/5238491/…
  • 您的问题在书面上没有多大意义,但是... StackOverflow 对母语不是英语的人可能很残酷(5 次否决?!?)。您的意思是要问“我怎样才能确定一个字符串是否代表一个数字”?如果是这样,那么您可以按照建议使用正则表达式或 Apache StringUtils 库。您可能还会看到一些代码示例,其中人们使用“Double.parseDouble()”并尝试捕获 NumberFormatException ......但使用 try-catch 块以这种方式驱动逻辑确实不是一个好习惯。

标签: java


【解决方案1】:
String s = "%$a*";
Pattern p = Pattern.compile("[a-zA-Z0-9]");
Matcher m = p.matcher(s);
if (m.find())
  System.out.println("The string \"" + s + "\" contains alphanumerical characters.");

【讨论】:

  • 这只处理 ASCII 字母字符。
  • +1 for @sudocode:尤其是如果 OP 不是以英语为母语的人,他很可能需要支持非 ASCII 字符。
  • @sudocode 和@Joachim Sauer 我同意,但为了我的辩护,我没有太多工作要做。只要问题仍然含糊不清,我的回答就是正确的。
  • @Oltarus:我同意“工作不多”的部分。 但是 äöß 肯定是按字母顺序排列的,就像 ěëÇ 一样。
【解决方案2】:

【讨论】:

    【解决方案3】:

    Character 类中有两个方便的方法可以帮助您

    只需将String 转换为字符数组,然后逐步遍历该数组。

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2021-10-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多