對不起,如果標題是誤導/壞,不知道如何說出這個問題。檢查一個字符串是否需要調用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});而不是創建一個新的變量。 –