2016-05-23 39 views
-2

您好替換字符串的一種重複的字時遇到串像下面由一個

字符串str = 「vishwa sgsu shishs sjishs vishwa sjsjos vishwa」;

我與某某取代像下面

  1. vishwa每次出現
  2. vishwa與YZK
  3. vishwa與JEY

所以我的結果字符串將類似於下面

「xyz sgsu shishs sjishs yzk sjsjos jey」

我試着用replaceFirst(),replace()方法,但沒有工作。

我該怎麼做。

+0

你在這裏取代什麼? –

+5

什麼不起作用?你能告訴我們代碼嗎? – TDG

+0

'newString = string.replaceFirst(「vishwa」,「xyz」)'應該是正確的方法,什麼不工作? –

回答

2

請使用下面的代碼並檢查您的輸出。

String str = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa"; 

    String strNewString = str.replace("vishwa","xyz"); 
    strNewString = strNewString.replace("vishwa","yzk"); 
    strNewString = strNewString.replace("vishwa","jey"); 

現在使用strNewString作爲將來的使用。

0

嘗試

String someString = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa"; 
someString = someString.replaceFirst("vishwa","xyz"); 
someString = someString.replaceFirst("vishwa","yzk"); 
someString = someString.replaceFirst("vishwa","jey"); 
+0

你的意思是'字符串'...不'字符串'...如果有人會複製和粘貼 –

+0

是的我改變了 – gmetax

-1

由於replaceFirst創建一個新字符串可以通過

String result = str.replaceFirst("vishwa", "xyz") .replaceFirst("vishwa", "yzk") .replaceFirst("vishwa", "jey")

3

如果你需要的東西更強大的做到這一點,用這個 -

String original = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa"; 
String s = "vishwa"; 
String [] replacements = { "xyz", "yzk", "jey" }; 
for (int i = 0; i < replacements.length; i++) { 
    if (original.contains(s)) { 
     original = original.replaceFirst(s, replacements[i]); 
    } else { 
      break; 
    } 
} 
System.out.println(original); 

如果你需要更換更多的字符串,循環將完成這項工作。

+0

@Unihedron - 你說得對,我糾正了我的答案,但你更快:)謝謝很多! – TDG