【发布时间】:2013-03-16 01:46:50
【问题描述】:
我有一个字符串,我必须在其中检查一些 if 条件并执行一些替换操作,如下所示,
for(int i =0; i<10;i++){
if(name[i].contains("sometext")){
name[i] = name[i].replaceAll("someregexpattern","replacementtexthere");
}
}
我不是每次使用'if'条件都检查'sometext'是否存在,我可以简单地说如下,
for(int i =0; i<10;i++){
name[i] = name[i].replaceAll("someregexpattern","replacementtexthere");
}
无论如何,如果字符串 'name' 不包含 'regexpattern' 的意思,它不会替换任何东西。那么,if 条件在性能方面是否有任何意义。
提前致谢。
【问题讨论】:
-
这可能取决于 if 条件为真的频率(假设
.contains比.replaceAll便宜)。我认为,您最好针对您的特定用例进行测试。 -
replaceall 应该是 replaceAll。你的代码正在编译?
-
@Achintya Jha - 那是一个错字。已更正。谢谢:)
标签: java string if-statement replace