我需要检查一个字符串(单词,没有空格)是否包含给定字母表中的任何字母。
String A: apple
String B: bed
Alphabet: a b c d e f
我想有效地比较字符串和字母表。 我想要的是检查字符串是否由字母表中的字母组成。 现在我的字母表位于 ArrayList 和 for 循环中 我检查字符串是否包含数组列表的字母,如果为真则退出,否则 继续下一封信。 上面的字符串 A 示例将返回 false,因为 p 和 l 不是字母表的一部分。但对于 B 来说它将返回 true。
这可以更有效地完成吗? 感谢您的帮助。
最佳答案
将“字母表”转换为正则表达式,然后使用 String.matches()
。不确定你到底想要什么,但我很确定这是两个选项之一:
要检查该单词是否至少包含字母表中的一个字母:
if (str.matches(".*[abcdef].*"))
要检查该单词是否仅由字母表中的字母组成:
if (str.matches("[abcdef]+"))
关于java - 检查字符串中是否有给定的字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16694324/