我得到以下字符串:
"14-10-2013 03:04"
我想要一个函数,用“14”现在所在的部分替换“10”现在所在的部分。我怎样才能这样做呢?我知道有类似 split 的东西,但我对此不太有经验。
到目前为止:
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)。
有关详细信息,请参阅 MDN Documentation on String.prototype.replace .
关于javascript - 剪切并替换 JavaScript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19355271/