3 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先,找到第一個(gè)點(diǎn)和最后一個(gè)逗號(hào)的索引。
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貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
您可以使用通用正則表達(dá)式來匹配和捕獲 1) 字符串開頭的任何 1+ 字字符到組 1,2) 第一個(gè)非字字符之后的任何字符到組 2 中,直到最后一次出現(xiàn)非- word char 3) 然后是字符串末尾的任何 1+ 字字符。
/^(\w+)\W(.*)\W(\w+)$/
查看正則表達(dá)式演示
注意:如果分隔符是固定字符,請(qǐng)使用/^(\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貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
您可以使用通用正則表達(dá)式來匹配和捕獲 1) 字符串開頭的任何 1+ 字字符到組 1,2) 第一個(gè)非字字符之后的任何字符到組 2 中,直到最后一次出現(xiàn)非- word char 3) 然后是字符串末尾的任何 1+ 字字符。
/^(\w+)\W(.*)\W(\w+)$/
查看正則表達(dá)式演示
注意:如果分隔符是固定字符,請(qǐng)使用/^(\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]]);
}
}
添加回答
舉報(bào)