我有一個問題,試圖替換數組中的字符串的一部分。基本上,我有其中包含的字符串:如何替換數組中的字符串的一部分?
關係(ATT1,ATT2,ATT3)\ nRelation(ATT1,ATT2,ATT3)
我有分裂基於 「\ n」 個字符串和存儲到一個數組: [關係式(ATT1,ATT2,ATT3),關係式(ATT1,ATT2,ATT3)]
我的問題是替換的字符串的這一部分:(att1,att2,att3)
到( )
爲陣列中的每個元件。下面是我的代碼片段:
String txt = "Relation(att1,att2,att3)\nRelation(att1,att2,att3)";
StringBuilder sb = new StringBuilder();
sb.append(txt);
String[] myArray = sb.toString().split("\n");
int startIdx = sb.indexOf("(");
int endIdx = sb.indexOf(")");
int i;
for(i=0; i<myArray.length; i++){
myArray[i] = myArray[i].replace(startIdx,endIdx,"( )");
}
System.out.println("---- Single Array ------");
System.out.println(Arrays.toString(myArray));
的問題是行內的for循環,它給我的錯誤,說明
在String類型「替換(字符,字符)不適用對於 參數(INT,INT,字符串)」
我研究其他方法,但沒有發現任何東西儘量靠近使用的StringBuilder和的indexOf滿足我的需求。有關如何解決這個問題的任何建議?
所以你基本上要一個空間來代替括號內的一切字符串? – Blub
您試圖調用字符串類的'replace'方法不需要兩個索引。 – merlin2011
@EdgarBoda是的,所以例如(a,b,c)被替換爲() – user11998