2013-11-15 71 views
-2

我有這樣的字符串 - 11/15/2013。 我想用2000替換2013(最後2位數字爲0)。這個怎麼做?如何用索引替換另一個字符串的字符串?

+0

'String.replace(...)'? – Neet

+0

谷歌:http://stackoverflow.com/questions/1234510/how-do-i-replace-a-character-in-a-string-in-java – Fabinout

+0

但什麼是(...)內的參數?有沒有什麼直接的方法來通過索引來替換字符串? –

回答

5

你總是可以做替代date.replace("13", "00");

,但如果你正在尋找的東西通用的解決方案的(在情況下,如果你不知道的最後兩位數字是什麼,但你想他們是「00」),你可以做這樣的事情:

String date = "11/15/2013"; 
String newDate = date.substring(0,8)+"00"; 

或者你可以使用StringBuilder:

StringBuilder date = new StringBuilder("11/15/2013"); 
date.setCharAt(8, '0'); 
date.setCharAt(9, '0'); 

StringBuilder date = new StringBuilder("11/15/2013"); 
date.replace(8, 10, "00"); 
+0

是的,這是答案.. :) –

+0

@G。 Madri如果有用,請接受它,這樣也會對其他人有所幫助。 – codeMan

1

代碼片段

String date = "11/15/2013"; 
String replaced = date.replace("2013","2000"); 
0

更好的代碼片斷

String replaced = date.replace("11/15/2013.","11/15/2000"); 
1

如果你真的想在String的一定的指數來替代的序列,使用StringBuilder

String replaced = new StringBuilder(date) 
    .replace(8, 10, "00").toString(); 
+0

我正在獲得系統時間並將其替換爲2000年。所以我不知道系統時間的年份。這是我真正想要的:) –

+1

很好。旁註:確保年份的位置永不改變 - 即日和月應始終爲兩位數字(例如3月7日的「07/03」)。 – isnot2bad

1
String date = "11/15/2013"; 
System.out.println(date.substring(0, date.length()-2).concat("00")); 

這是你在找什麼?

相關問題