gpt4 book ai didi

java - 在逗号分隔的字符串中查找单词的推荐方法?

转载 作者:行者123 更新时间:2023-11-30 08:24:18 24 4
gpt4 key购买 nike

我想查找 utility 是否在其中一个 utilities 中。

我有一个 JUnit 测试如下

@Test
public void testUtilityInUtilities() {
final String utilities = "Pacific Gas & Electric (PG&E),San Diego Gas & Electric (SDG&E), Salt River Project (SRP),Southern California Edison (SCE)";
final String utility = "San Diego Gas & Electric (SDG&E)";
assertTrue(utilities.contains(utility));
}

这是一个足够好的测试吗?或者我应该做类似以下的事情吗?

String[] splitString = (utilities.split(","));
for (String string : splitString) {
if (string.equals(utility)) {return true;}
}
return false;

推荐哪种方法? 拆分包含 还是其他?

最佳答案

contains 方式更快,但容易出现误报:它将匹配一个子字符串,例如,"Gas & Electric",即使实际字符串是 "Pacific Gas & Electric (PG&E)"。您可以通过要求匹配项周围的点位于字符串的末尾或逗号处来防止这种情况。您可以改进第一种方法,方法是从由结束标记(即逗号、$^)构成的正则表达式引用的搜索字符串构建一个正则表达式,以要求完全匹配,也是。

split 方法更可靠,但它很浪费:您最终创建了一个完整的子字符串数组,只检查是否存在单个字符串,并丢弃其余部分。

总而言之,在性能很重要的情况下,我更喜欢第一种方法,因为它不会浪费。不过,如果您偶尔运行此方法,则基于 split 的方法更易于编码和阅读。

关于java - 在逗号分隔的字符串中查找单词的推荐方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com