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

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

如何在javascript中獲取兩個(gè)相同字符之間的子字符串?

如何在javascript中獲取兩個(gè)相同字符之間的子字符串?

POPMUISE 2023-11-02 16:51:12
所以我知道如何使用索引或分割方法從 2 個(gè)字符中獲取子字符串。但我陷入了許多具有相似名稱的字符串的情況,例如:   "2020-12-09-name_of_this_mission_num1_mission1_fileName_something"    "2020-12-09-name_of_this_mission_num1_mission12_fileName_something"    "2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else"就像我被困在如何提取“mission#”部分一樣,因?yàn)橛袝r(shí)名稱可能不同,所以長度不同,有時(shí)名稱相同,與文件名相同。我也考慮過使用“_”的索引,但是有多個(gè)“_”,如果名稱不同,它們可能最終會(huì)出現(xiàn)在不同的索引中。有人能給我一些提示嗎?
查看完整描述

3 回答

?
肥皂起泡泡

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

如果字符串的結(jié)構(gòu)始終相同 - 并且您想要“mission”的第二個(gè)實(shí)例 - 則將完整字符串拆分為“mission”的文本。


這將產(chǎn)生一個(gè)包含三個(gè)部分的數(shù)組 - ["2020-12-09-name_of_this_", " num1 ", "1_fileName_something"])


然后獲取此部分?jǐn)?shù)組中的最后一項(xiàng),并從結(jié)果字符串的開頭獲取數(shù)字。


然后,您可以在其前面加上刪除的“任務(wù)”前綴,將其推入一個(gè)數(shù)組中,這樣您就擁有了一系列任務(wù)。


如果您的初始字符串不包含“mission”的兩個(gè)實(shí)例,那么您可以將其設(shè)置為返回第二個(gè)而不是第三個(gè)部分,就像我對“mission2”所做的那樣。


const  missions =  [

  "2020-12-09-name_of_this_mission_num1_mission1_fileName_something",

  "2020-12-09-name_of_this_mission_num1_mission12_fileName_something",

  "2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else",

  "2020-12-09-name_of_this_mission2_fileName_something_else"

]



let missionsArr = [];


missions.forEach(function(mission) {

  const missionPortions = mission.split('mission');

  let index; 

  

  missionPortions.length == 2

    ? index = 1

    : index = 2

    

  missionsArr.push('mission' + parseInt(missionPortions[index]))

})



console.log(missionsArr); //gives ["mission1","mission12", "mission1", "mission2"];


查看完整回答
反對 回復(fù) 2023-11-02
?
三國紛爭

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

一個(gè)簡單的正則表達(dá)式匹配函數(shù)。請注意,“match”輸出一個(gè)數(shù)組,因此推送 match[0]:


const  missions =  [

  "2020-12-09-name_of_this_mission_num1_mission1_fileName_something",

  "2020-12-09-name_of_this_mission_num1_mission12_fileName_something",

  "2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else"

]


let Arr = [];


missions.forEach(function(mission) {

  const missionID = mission.match(/mission\d+/);

  Arr.push(missionID[0]);

})


console.log(Arr);


查看完整回答
反對 回復(fù) 2023-11-02
?
心有法竹

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

獲取任務(wù)##的最簡單方法是使用正則表達(dá)式,假設(shè)#是可變的數(shù)字位數(shù)。


基本正則表達(dá)式將匹配后跟至少一個(gè)數(shù)字的/mission\d+/字符串。"mission"


假設(shè)您的輸入為:


const missionsTexts = [

  "2020-12-09-name_of_this_mission_num1_mission1_fileName_something",

  "2020-12-09-name_of_this_mission_num1_mission12_fileName_something",

  "2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else"

];

mission#您可以使用以下算法將它們轉(zhuǎn)換為數(shù)組:


const missions = missionsTexts.map(missionText => missionText.match(/mission\d+/g)[0]);

請注意,這假設(shè)mission#每個(gè)任務(wù)文本只有一個(gè)。該g修飾符用于確保正則表達(dá)式不會(huì)在找到的第一個(gè)數(shù)字之后創(chuàng)建匹配項(xiàng)。


查看完整回答
反對 回復(fù) 2023-11-02
  • 3 回答
  • 0 關(guān)注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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