2013-11-15 4 views
-2

У меня есть строка вроде этого - 15.11.2013. Я хочу заменить 2013 на 2000 (последние 2 цифры 0). как это сделать?Как заменить строку на другую строку индексом?

+0

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

+0

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

+0

, но каковы параметры внутри (...)? Есть ли прямой способ заменить строку по индексу? –

ответ

5

Вы всегда можете сделать замену date.replace("13", "00");

но если вы смотрите на что-то родового раствора (в случае, если вы не знаете о том, что последние 2 цифры, но вы хотите, чтобы быть «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. Мадри, если это полезно, пожалуйста, примите его, так что это будет полезно и для других. – 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

Хорошо. Sidenote: убедитесь, что положение года никогда не изменяется, т. Е. День и месяц должны всегда быть двумя цифрами (например, «07/03» для 7 марта). – isnot2bad

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

Вы хотите что-то исправить?

Смежные вопросы