3 回答
TA贡献1810条经验 获得超5个赞
首先,找到第一个点和最后一个逗号的索引。
var idxPeriod = someString.indexOf(".");
var idxComma = someString.lastIndexOf(",");
然后使用substring()方法提取必要的部分。
var val1 = someString.substring(0, idxPeriod);
var val2 = someString.substring(idxPeriod + 1, idxComma);
var val3 = someString.substring(idxComma + 1);
TA贡献1874条经验 获得超12个赞
您可以使用通用正则表达式来匹配和捕获 1) 字符串开头的任何 1+ 字字符到组 1,2) 第一个非字字符之后的任何字符到组 2 中,直到最后一次出现非- word char 3) 然后是字符串末尾的任何 1+ 字字符。
/^(\w+)\W(.*)\W(\w+)$/
查看正则表达式演示
注意:如果分隔符是固定字符,请使用/^(\w+)\.(.*),(\w+)$/.
JS演示:
var rx = /^(\w+)\W(.*)\W(\w+)$/;
var ss = ["ab.ab.c,ab.d,bc.e,mt", "bc.e,nmt", "ef.1,mt"];
for (var i=0; i<ss.length; i++) {
var m = ss[i].match(rx);
if (m) {
console.log([m[1], m[2], m[3]]);
}
}
TA贡献1776条经验 获得超12个赞
您可以使用通用正则表达式来匹配和捕获 1) 字符串开头的任何 1+ 字字符到组 1,2) 第一个非字字符之后的任何字符到组 2 中,直到最后一次出现非- word char 3) 然后是字符串末尾的任何 1+ 字字符。
/^(\w+)\W(.*)\W(\w+)$/
查看正则表达式演示
注意:如果分隔符是固定字符,请使用/^(\w+)\.(.*),(\w+)$/.
JS演示:
var rx = /^(\w+)\W(.*)\W(\w+)$/;
var ss = ["ab.ab.c,ab.d,bc.e,mt", "bc.e,nmt", "ef.1,mt"];
for (var i=0; i<ss.length; i++) {
var m = ss[i].match(rx);
if (m) {
console.log([m[1], m[2], m[3]]);
}
}
添加回答
举报