Javascript 在字符串中查找逗号,后跟空格和数字
我有一个包含这种格式的字符串 “Javascript 在字符串中查找逗号,后跟空格和数字,javascript,jquery,regex,string,split,Javascript,Jquery,Regex,String,Split,我有一个包含这种格式的字符串 “第1项,第2项,另一项,2004” 我想在2004年拆分字符串,并将其格式化以显示 “第1项,第2项,另一项,2004” 到目前为止,我有这个 var myString = ""; var new_html = []; var splitstring = this.split(','); $.each(splitstring, function (idx) {
第1项,第2项,另一项
,2004”
我想在2004年拆分字符串,并将其格式化以显示
“第1项,第2项,另一项
,2004”
到目前为止,我有这个
var myString = "";
var new_html = [];
var splitstring = this.split(',');
$.each(splitstring, function (idx) {
if (new_html.length == 0) new_html.push('<em>' + splitstring[idx] + '</em>');
else new_html.push(splitstring[idx]);
});
myString+=("<span class='line"+index+"'>"+new_html.join(',') + "<br/></span>");
var myString=“”;
var new_html=[];
var splitstring=this.split(',');
$.each(拆分字符串、函数(idx){
if(new_html.length==0)new_html.push(“”+splitstring[idx]+“”);
else new_html.push(splitstring[idx]);
});
myString+=(“+new_html.join(”,“)+”
);
这是行不通的,但如果有人能给我指出正确的方向,那就太好了。尝试使用以下模式:
/, (?=\d)/
这将匹配一个逗号,后跟一个空格,但前提是后面跟一个数字
(?=…)
是一个先行断言。它确保括号内的模式出现在匹配的子字符串之后,但不包括在匹配中
您只需在拆分函数中使用此函数,如下所示:
var splitstring = this.split(/, (?=\d)/);
...
如果您想确保它后面有一个4位数的年份,您可以使用:
/, (?=\d{4})/
或
根据您的具体需要。尝试使用以下模式:
/, (?=\d)/
这将匹配一个逗号,后跟一个空格,但前提是后面跟一个数字
(?=…)
是一个先行断言。它确保括号内的模式出现在匹配的子字符串之后,但不包括在匹配中
您只需在拆分函数中使用此函数,如下所示:
var splitstring = this.split(/, (?=\d)/);
...
如果您想确保它后面有一个4位数的年份,您可以使用:
/, (?=\d{4})/
或
根据您的具体需要。多行书写,清晰易懂,便于在线解释
var str = "Item 1, Item 2, Another Item, 2004";
var arr = str.split(','); //splitting by commas
var num = arr.pop(); //popping the last value '2004'
var result = '<em>'+ arr.join(',') + '</em>' + ',' + num; //joining back again
result: "<em>Item 1, Item 2, Another Item</em>, 2004"
var str=“第1项、第2项、另一项,2004年”;
var arr=str.split(',')//用逗号拆分
var num=arr.pop()//弹出最后一个值“2004”
变量结果=''+arr.join('',')+''+'','+num//再次加入
结果:“项目1、项目2、另一个项目,2004年”
如果
num
是一年,您可以检查as(num<2099)和&(num>1990)
(只是一个示例),并使用该条件来执行特定的内容编写多行代码,以获得清晰性和解释性
var str = "Item 1, Item 2, Another Item, 2004";
var arr = str.split(','); //splitting by commas
var num = arr.pop(); //popping the last value '2004'
var result = '<em>'+ arr.join(',') + '</em>' + ',' + num; //joining back again
result: "<em>Item 1, Item 2, Another Item</em>, 2004"
var str=“第1项、第2项、另一项,2004年”;
var arr=str.split(',')//用逗号拆分
var num=arr.pop()//弹出最后一个值“2004”
变量结果=''+arr.join('',')+''+'','+num//再次加入
结果:“项目1、项目2、另一个项目,2004年”
如果
num
是一年,您可以检查为(num<2099)和&(num>1990)
(只是一个示例),并使用该条件执行特定的操作您想找出字符串中的最后一个逗号吗?感谢您的回复,理论上不,我只希望最后一个逗号后跟日期。。。这可能是不可能的。但是为什么2004年是一个日期?你想找出字符串中的最后一个逗号吗?谢谢你的回答,理论上不,我想要最后一个逗号,只要它后面跟一个日期。。。这可能是不可能的。但是为什么2004年是一个日期呢?根据OP我只想要最后一个逗号,如果它后面跟一个日期
我知道2004年不是一个日期我如何将它添加到分割函数中?谢谢每个OP我只想要最后一个逗号,如果它后面跟一个日期
我知道2004不是一个日期如何将其添加到拆分函数中?谢谢你告诉我这个-我会检查它是否有效谢谢!注意:只有当年份出现在最后一个逗号之后时,这才有效。鉴于OP的评论,我认为这不是我想要的,但它可能已经足够好了。你能告诉我这个吗?我会检查它是否有效,谢谢!注意:只有当年份出现在最后一个逗号之后时,这才有效。鉴于OP的评论,我不认为这是可取的,但它可能已经足够好了。