有没有办法在java脚本中替换给定位置的String的一部分。例如,我想将小时栏中的00
替换为以下字符串中的12
。substring
位于13到15之间。
Mar 16, 2010 00:00 AM
答案 0 :(得分:19)
以下是一个选项:
var myString = "Mar 16, 2010 00:00 AM";
myString = myString.substring(0, 13) +
"12" +
myString.substring(15, myString.length);
请注意,如果您打算使用它来操作日期,建议使用一些日期操作方法,例如DateJS中的日期操作方法。
答案 1 :(得分:6)
正则表达式方法
"Mar 16, 2010 00:00 AM".replace(/(.{13}).{2}/,"$112")
Mar 16, 2010 12:00 AM
答案 2 :(得分:3)
一个选项是
>>> var test = "Mar 16, 2010 00:00 AM";
>>> test.replace(test.substring(13,15),"12")
答案 3 :(得分:3)
如果它始终是00:
小时,
您只需将00:
替换为12:
使用replace()
,
如果不是您需要找到indexOf
:
字符,
然后用12
替换2位数字。
答案 4 :(得分:1)
答案 5 :(得分:0)
另一个创意可能是转换为数组splice
并将其转换回字符串。
let str = "Mar 16, 2010 00:00 AM";
let arr = str.split("");
arr.splice(13,2,"1","2");
str = arr.join("");