如何在字符串中的第二个字符后添加字符?
例如:我希望如此:1700
成为:17:00
。
答案 0 :(得分:5)
在我看来,最简单的方法是使用substr来分割字符串并连接其中的另一个字符。无论第二部分的长度如何,这都有效:
var str = "1700";
str.substr(0,2)+":"+str.substr(2);
答案 1 :(得分:1)
你可以这样做:
'1700'.match(/../g).join(':')
以下正则表达式接受3个以上的字符:
'700'.match(/^(.+)(..)$/).slice(1, 3).join(':') // "7:00"
最短且可能最快的解决方案:
s[0]+s[1]+":"+s[2]+s[3]
答案 2 :(得分:0)
这会产生魔力:
"1700".replace(/(..)$/, ":$1")
替代方案你可以做一些事情,比如在后面看一下substr:
var string = "1700";
string = string.substr(0, string.length -2) + ":" + string.substr(-2, 2);
他们俩都会做类似的事情:900将会变成9点
正则表达式和substr行都做同样的事情。如果你想要可读性,我会考虑正则表达式。
答案 3 :(得分:0)
您可以使用子字符串。请考虑以下事项:
string1 = "1700";
string2 = ":";
string1 = string1.substring(0,2) + string2 + string1.substring(2);
alert(string1);
答案 4 :(得分:0)
不使用regexp,您可以使用substr -
string = string.substr(0,2) + ":" + string.substr(2);