我得到以下字符串:
"14-10-2013 03:04"
我想要一个函数,用现在的“14”替换“10”所在的部分。我该怎么做?我知道有类似分裂的东西,但我对它不太有经验。
至今:
var string = '14-10-2013 03:04';
var firstPart = string.split("-", 1);
alert(firstPart);
但我不知道如何在变量中获取第二部分('10')。
我得到以下字符串:
"14-10-2013 03:04"
我想要一个函数,用现在的“14”替换“10”所在的部分。我该怎么做?我知道有类似分裂的东西,但我对它不太有经验。
至今:
var string = '14-10-2013 03:04';
var firstPart = string.split("-", 1);
alert(firstPart);
但我不知道如何在变量中获取第二部分('10')。
对于特定的字符串格式(转换"xx-yy-..."
为"yy-xx-..."
),一个简单的替换就可以了:
"14-10-2013 03:04".replace(/(\d\d)-(\d\d)/,"$2-$1")
解释:
正则表达式/(\d\d)-(\d\d)/
匹配两个数字,后跟一个破折号,再跟两个数字。括号表示可以在第二个参数中引用的捕获组。在这种情况下,对于字符串“14-10-2013 03:04”,子字符串“14-10”匹配正则表达式,捕获的两个文本是“14”和“10”。
在第二个参数中,使用$1
, $2
, ... 指定应在何处插入捕获的文本。在这种情况下,"$2-$1"
将写入第二个捕获的文本 (14),然后是破折号,然后是第一个捕获的文本 (10)。
有关详细信息,请参阅有关 String.prototype.replace 的 MDN 文档。