java - 检查字符串中是否有给定的字母表

标签 java string performance

我需要检查一个字符串(单词,没有空格)是否包含给定字母表中的任何字母。

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/

相关文章:

java - 拆分公式字符串

java - 如何在 java 中创建具有枚举值的 map ?

java - 程序性能和效率 : Multiple print statements vs "\n"

java - java中优雅的字符串替换

java - 我们能否将延迟和吞吐量与并行性联系起来

Java XPath(Apache JAXP 实现)性能

java - 多个(甚至可能未使用的)jar文件的大型类路径效率低下

java - Jsoup - 从 href 属性中选择值

jsp中的Java类

java - 基于运行时对象类型执行方法/代码