Есть ли способ заменить часть строки в заданной позиции в сценарии Java. Например, я хочу заменить 00 в столбце часов на 12 в приведенной ниже строке. substring - от 13 до 15.
00
12
substring
Mar 16, 2010 00:00 AM
Ниже приведен один вариант:
var myString = "Mar 16, 2010 00:00 AM"; myString = myString.substring(0, 13) + "12" + myString.substring(15, myString.length);
Обратите внимание, что если вы собираетесь использовать это для манипулирования датами, рекомендуется вместо этого использовать некоторые методы манипуляции с датами, например, такие как в DateJS .
Регулярный подход
"Mar 16, 2010 00:00 AM".replace(/(.{13}).{2}/,"$112") Mar 16, 2010 12:00 AM
, если это всегда 00: в часах,
00:
Вы можете просто заменить 00: на 12:
12:
с использованием replace(),
replace()
Если вам не нужно, найдите indexOf :,
indexOf
:
, а затем заменить 2 цифры на 12.
Один из вариантов будет
>>> var test = "Mar 16, 2010 00:00 AM"; >>> test.replace(test.substring(13,15),"12")
Вы можете использовать метод replace () вместе с indexOf () строки в Javascript.
Другой креативной идеей может быть преобразование в массив splice и преобразование его обратно в строку.
splice
let str = "Mar 16, 2010 00:00 AM"; let arr = str.split(""); arr.splice(13,2,"1","2"); str = arr.join("");