2016-12-23 36 views
-1

我得到了一個字符串x與一個值。在那裏,我想將xx111159的序列替換爲idno,其中xx可以是任何內容,但必須替換。其他字符保持不變。Java - 替換特定的字符串序列

實施例:ab111159abidnoabcd111159idno

有沒有一種方法可以用Replace函數來完成這個工作?我知道的方式,將需要檢查的最後一個字符是111159,但會導致讀取整個字符串逐個字符...

+0

這是安全的假設字符串將始終以'xx111159'開始?如果字符串只包含「111159」,那麼你會期望什麼?即,它以111159開始,在序列前沒有任何字符? – Trying

回答

2

用正則表達式和String.replaceAll()可以完成你的目標:

String result = x.replaceAll(".{2}111159", "idno"); 

其中.與任何字符匹配且{2}確保在111159之前有兩個字符。

+1

加1,因爲你解釋了表達式。 – DevilsHnd

2

使用正則表達式和替換

str = str.replaceAll(".{2}111159","idno") 
1

使用正則表達式:

x = x.replaceAll(".{2}111159", "idno");