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

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

解析出字符串中的特定值

解析出字符串中的特定值

縹緲止盈 2019-04-14 11:28:26
"你好,{#username#},你的寶貝{#goods#}已由{#express#}"于{#time#}發(fā)出,請(qǐng)注意收貨。聯(lián)系電話{#phone#}。"從以上文本中想獲得"username,goods,express,time,phone"的字符串(注意用逗號(hào)隔開),或者包含上述字符串的數(shù)組。請(qǐng)用JS和java分別實(shí)現(xiàn),謝謝!
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

Java版的
@WestFarmer已經(jīng)寫了javascript的,我來補(bǔ)java的
publicstaticListgetNames(Strings){
Patternpattern=Pattern.compile("\\{#(\\w+)#\\}");
Matcherm=pattern.matcher(s);
Listresult=newArrayList();
while(m.find()){
result.add(m.group(1));
}
returnresult;
}
測(cè)試
publicstaticvoidmain(String[]args){
Strings="你好,{#username#},你的寶貝{#goods#}已由{#express#}于{#time#}發(fā)出,請(qǐng)注意收貨。聯(lián)系電話{#phone#}。";
for(Stringname:getNames(s)){
System.out.println(name);
}
}
輸出
username
goods
express
time
phone
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-14
?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

打開chrome控制臺(tái)(F12鍵),在控制臺(tái)輸入以下內(nèi)容:
vars12="你好,{#username#},你的寶貝{#goods#}已由{#express#}于{#time#}發(fā)出,請(qǐng)注意收貨。聯(lián)系電話{#phone#}。"
varreg2=/{#(\w+)#}/g;
varresults=[];
vartmp;
while((tmp=reg2.exec(s12))!=null){results.push(tmp[1])}
console.log(results);
結(jié)果輸出:["username","goods","express","time","phone"]
原理:正則表達(dá)式/{#(\w+)#}/g中括號(hào)之間定義的部分是一個(gè)分組,是我們希望提取的值。但是注意的是,整個(gè)正則表達(dá)式也是一個(gè)分組,這就是為什么調(diào)用reg2.exec返回的是一個(gè)數(shù)組,數(shù)組中第一項(xiàng)就是整個(gè)正則表達(dá)式對(duì)應(yīng)的分組,第二個(gè)才是我們定義的那個(gè)分組(\w+),當(dāng)exec沒有匹配到時(shí)就會(huì)返回null。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-14
  • 2 回答
  • 0 關(guān)注
  • 252 瀏覽
慕課專欄
更多

添加回答

舉報(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)