gpt4 book ai didi

Java:正则表达式与 if 语句

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:43 25 4
gpt4 key购买 nike

我有一个数组,我想在其中搜索以“test”开头的字符串(例如);搜索这些集合前缀的最有效方法是什么?正则表达式还是 if 语句?

正则表达式:

    boolean found = false;
for (String line: ArrayList){
Pattern pattern =
Pattern.compile("^test"); //regex

Matcher matcher =
pattern.matcher(line);


while (matcher.find()) {
found = true;
}
if(found){
doSomething();
}
}
}

if 语句:

for (String line : ArrayList) {
if (line.startsWith("test"){
doSomething();
}

哪个最有效?

哪种方法对较长的字符串最有效?

如果我想查找以“test”开头的字符串,但只查找“test”后有“foo”的字符串,哪种方法更好?

如果正则表达式是答案,那么以“test”开头后跟“foo”或“bar”而不是两者的正确语法是什么?

最佳答案

4 行代码与 16 行代码相比?不管哪个运行得更快,4 行版本的编写效率更高,维护效率更高。

如果您有一些代码并对其进行了基准测试并确定了特定的瓶颈,那么可以考虑将其变得更复杂,否则每次都使用更简单的版本。

关于Java:正则表达式与 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11454719/

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