gpt4 book ai didi

Javascript 和 Regex 将时间存储在数组中

转载 作者:行者123 更新时间:2023-12-02 15:02:53 26 4
gpt4 key购买 nike

我想用正则表达式将时间存储在数组中。这是我正在使用的:

var re = /\b\d{1,2}:\d{2}\b/g; 
var txt = '9:50 This is a test with end time in the Clammr 10:10';
var str = txt;
var m;
while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
var starttime = m[0];
var endtime = m[1];
}
var text = txt.replace(starttime, '');
text = text.replace(endtime, '');
text = jQuery.trim(text);
console.log('[shortcode text="'+ text +'" start="' + starttime + '" end="' + endtime + '"]');

我希望最后得到这个结果:

[shortcode text="This is an awesome Clammr" start="9:50" end=10:10"]

但不知道如何,但我得到了这个:

[shortcode text="9:50 This is a test with end time in the Clammr" start="10:10" end="undefined"]

最佳答案

Exec 返回 [match,index,string] ,因此为了获得匹配,只需使用第一个索引 m[0] :

检查这个片段。

var re = /\b\d{1,2}:\d{2}\b/g; 
var txt = '9:50 This is a test with end time in the Clammr 10:10';
var str = txt;
var m;
var times = [];
while ((m = re.exec(str)) !== null) {
times.push(m[0]);
}
var text = txt.replace(times[0], '');
text = text.replace(times[1], '');
text = jQuery.trim(text);


$('body').append('[shortcode text="'+ text +'" start="' + times[0] + '" end="' + times[1] + '"]');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于Javascript 和 Regex 将时间存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35332035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com