如何检查番石榴中的字符串是否只有字母数字字符?

莫西·沙汉(Moshe Shaham)

实际上,我想检查一下是否只有字母数字加上以下内容:.-_ [space]

如果使用外部库,我想使用Guava,因为它已经包含在我的项目中了...

Xaerxess

无正则表达式且更具可读性(?)的解决方案可以使用Guava的CharMatcher类:

boolean matched = CharMatcher.JAVA_LETTER_OR_DIGIT.or(CharMatcher.WHITESPACE)
    .or(CharMatcher.anyOf("_.-")).matchesAllOf(yourString);

也许ASCII字符适合您的用例?如果是这样,请使用:

boolean matched = CharMatcher.ASCII.matchesAllOf(yourString);

有关示例和说明,请参见Wiki页面

另外,您可能需要将匹配器提取为常量并对其进行预先计算:

private static final CharMatcher CHAR_MATCHER = CharMatcher.JAVA_LETTER_OR_DIGIT
    .or(CharMatcher.WHITESPACE)
    .or(CharMatcher.anyOf("_.-"))
    .precomputed();

更有趣的是,如果您阅读CharMatcher的文档,您可能会发现Java中的“ digit”“ letter”“ whitespace”是相当含糊的术语:

根据Java的定义确定字符是否为数字。如果您只想匹配ASCII数字,则可以使用inRange('0', '9')

或者

根据Java的定义确定字符是否为字母。如果您只想匹配拉丁字母,则可以使用inRange('a', 'z').or(inRange('A', 'Z'))

因此,您可能需要使用显式的char范围:

private static final CharMatcher CHAR_MATCHER_ASCII = 
    CharMatcher.inRange('0', '9')
        .or(CharMatcher.inRange('a', 'z'))
        .or(CharMatcher.inRange('A', 'Z'))
        .or(CharMatcher.anyOf(" _.-")) // note space here
        .precomputed();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查番石榴中的字符串是否只有字母数字字符?

来自分类Dev

SQL Server:如何测试字符串是否只有数字字符

来自分类Dev

检查字符串中的数字字母

来自分类Dev

如何检查字符串中是否只有数字

来自分类Dev

从字母数字字符串中检索字母字符

来自分类Dev

在Python中,如何检查字符串是否只有字母而没有内置函数(.islower等)?

来自分类Dev

检查字符串是否包含特定的特殊字符,字母数字字符并以字母结尾

来自分类Dev

番石榴是否提供解串字符串的方法?

来自分类Dev

仅计算字符串中的字母数字字符

来自分类Dev

如何在R中的字母数字字符串中获取数字/字母索引模式?

来自分类Dev

检查aa函数(bash)中的字符串是否只有数字,小写和“_”

来自分类Dev

如何检查字符串是否包含字母字符或字母字符和数字?

来自分类Dev

如何使用正则表达式从字符串中删除所有非字母数字字符(“#”除外)?

来自分类Dev

如何在php中匹配包含带有固定数量的字母数字字符的https url的字符串?

来自分类Dev

如何在python中的字符串中替换非字母和数字字符

来自分类Dev

如何在PHP中获取字符串中字母数字字符的长度?

来自分类Dev

如何在 SPARQL 中替换字符串中的非字母数字字符

来自分类Dev

如何检查字符串数组中的所有字符串是否均为数字?

来自分类Dev

替换字符串中除模式以外的所有字母数字字符

来自分类Dev

从删除所有非字母数字字符的字符串中获取列表

来自分类Dev

如何使用番石榴连接字符串?

来自分类Dev

如何检查字符串是否具有一定数量的字母和数字?

来自分类Dev

生成字母数字字符串

来自分类Dev

递增字母数字字符串

来自分类Dev

如何从字母数字字符串中提取有效数字?

来自分类Dev

如何压缩字母数字字符串?

来自分类Dev

如何对字母数字字符串进行排序

来自分类Dev

从字母数字字符串中删除数值

来自分类Dev

在SQL中过滤字母数字字符串

Related 相关文章

  1. 1

    如何检查番石榴中的字符串是否只有字母数字字符?

  2. 2

    SQL Server:如何测试字符串是否只有数字字符

  3. 3

    检查字符串中的数字字母

  4. 4

    如何检查字符串中是否只有数字

  5. 5

    从字母数字字符串中检索字母字符

  6. 6

    在Python中,如何检查字符串是否只有字母而没有内置函数(.islower等)?

  7. 7

    检查字符串是否包含特定的特殊字符,字母数字字符并以字母结尾

  8. 8

    番石榴是否提供解串字符串的方法?

  9. 9

    仅计算字符串中的字母数字字符

  10. 10

    如何在R中的字母数字字符串中获取数字/字母索引模式?

  11. 11

    检查aa函数(bash)中的字符串是否只有数字,小写和“_”

  12. 12

    如何检查字符串是否包含字母字符或字母字符和数字?

  13. 13

    如何使用正则表达式从字符串中删除所有非字母数字字符(“#”除外)?

  14. 14

    如何在php中匹配包含带有固定数量的字母数字字符的https url的字符串?

  15. 15

    如何在python中的字符串中替换非字母和数字字符

  16. 16

    如何在PHP中获取字符串中字母数字字符的长度?

  17. 17

    如何在 SPARQL 中替换字符串中的非字母数字字符

  18. 18

    如何检查字符串数组中的所有字符串是否均为数字?

  19. 19

    替换字符串中除模式以外的所有字母数字字符

  20. 20

    从删除所有非字母数字字符的字符串中获取列表

  21. 21

    如何使用番石榴连接字符串?

  22. 22

    如何检查字符串是否具有一定数量的字母和数字?

  23. 23

    生成字母数字字符串

  24. 24

    递增字母数字字符串

  25. 25

    如何从字母数字字符串中提取有效数字?

  26. 26

    如何压缩字母数字字符串?

  27. 27

    如何对字母数字字符串进行排序

  28. 28

    从字母数字字符串中删除数值

  29. 29

    在SQL中过滤字母数字字符串

热门标签

归档