第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用正則表達(dá)式在Javascript中解析某種格式的字符串?

如何使用正則表達(dá)式在Javascript中解析某種格式的字符串?

嗶嗶one 2021-10-29 16:35:39
我有一些像下面這樣的字符串a(chǎn)b.ab.c,ab.d,bc.e,mtbc.e,nmtef.1,mt我想要的是用regex某種方式解析這些字符串并得到結(jié)果例如ab.ab.c,ab.d,bc.e,mtval1 = ab  (take the value prior to first dot)val2 = ab.c,ab.d,bc.e (take the value after first dot but before the last comma)val3 = mt (take value after the last comma)相似地bc.e,nmtval1 = bc (take the value prior to first dot)val2 = e (take the value after first dot but before the last comma)val3 = nmt (take value after the last comma)ef.1,mtval1 = efval2 = 1val3 = mt現(xiàn)在我的方法更長而且效率低下。這就是我所做的let val3 = someString.split(',').slice(-1)[0]let remaining_string = someString.replace("," + val3, "")let val1 = remaining_string.slice(0, remaining_string.indexOf('.'))    let val2 = nullif(remaining_string.split(",").length > 1) {    val2 = remaining_string.replace("."+val1, "") } else {    val2 = remaining_string.split(".")[1] }沒有任何一個(gè)襯墊或清潔的解決方案來獲得val1,val2并val3迅速?
查看完整描述

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);


查看完整回答
反對(duì) 回復(fù) 2021-10-29
?
HUWWW

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]]);

  }

}


查看完整回答
反對(duì) 回復(fù) 2021-10-29
?
叮當(dāng)貓咪

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]]);

  }

}


查看完整回答
反對(duì) 回復(fù) 2021-10-29
  • 3 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)