3

如何在字符串中的第二个字符之后添加一个字符?

例如:我希望这个 :1700变成这个 : 17:00

4

5 回答 5

10

在我看来,最简单的方法是使用 substr 来拆分字符串并在其间连接另一个字符。无论第二部分的长度如何,这都会起作用:

var str = "1700";
str.substr(0,2)+":"+str.substr(2);
于 2013-10-16T19:49:11.387 回答
2

You could do this:

'1700'.match(/../g).join(':')

The following regexp accepts 3+ chars:

'700'.match(/^(.+)(..)$/).slice(1, 3).join(':') // "7:00"

Shortest and probably fastest solution:

s[0]+s[1]+":"+s[2]+s[3]
于 2013-10-16T19:48:28.827 回答
2

这会变魔术:

"1700".replace(/(..)$/, ":$1")

或者,您也可以在 substr 中执行类似从后面看的操作:

var string = "1700";
string = string.substr(0, string.length -2) + ":" + string.substr(-2, 2);

他们都在做类似的事情:900 到 9:00

正则表达式和 substr 行都做同样的事情。如果您想要可读性,我会考虑使用正则表达式。

于 2013-10-16T19:48:53.530 回答
1

不使用正则表达式,您可以使用 substr --

string = string.substr(0,2) + ":" + string.substr(2);
于 2013-10-16T19:50:32.047 回答
0

您可以使用子字符串。考虑以下:

string1 = "1700";
string2 = ":";
string1 = string1.substring(0,2) + string2 + string1.substring(2);
alert(string1);
于 2013-10-16T19:50:10.167 回答