对不起,如果标题是误导/坏,不知道如何说出这个问题。检查一个字符串是否需要调用String.replaceAll()与调用它
我有多个字符串列表,其中大多数将包含我需要用来替换字符串的参数。其中一些字符串(在列表中)将包含多个要替换的参数。
防爆
Comp Status `%compname`
Comp SLA `%rackname` `%sgname` `%compname`
我需要将坟墓'%之内更换任何东西----`用字符串,它依赖于位置的for循环。
我的问题是,我应该检查字符串,看看它是否有我需要切换的参数之一,或者我应该只是调用每个字符串上的所有replaceAll()语句。
1.
for(String s: rackStr){
newString = new String[1];
s = s.replaceAll("`%rackname`", rName);
s = s.replaceAll("`%compname`", compName);
s = s.replaceAll("`%sysname`", sysName);
newString[0] = s;
System.out.println(newString[0]);
vars.add(newString);
}
2.
for(String s: rackStr){
newString = new String[1];
if(s.contains("`%rackname")){
s = s.replaceAll("`%rackname`", rName);
}
if(s.contains("`%compname")){
s = s.replaceAll("`%compname`", compName);
}
if(s.contains("`%sysname")){
s = s.replaceAll("`%sysname`", sysName);
}
newString[0] = s;
System.out.println(newString[0]);
vars.add(newString);
}
注意,我必须使newString阵列,并将其添加到一个列表瓦尔所以我可以写入整个瓦尔变量到CSV文件通过OpenCSV writeAll();
所以我应该使用1或2?或者有些不同?
我只是做了vars.add(new String [] {s});而不是创建一个新的变量。 –