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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查找字符串中存在的所有給定字符。字符可以出現(xiàn)在字符串的任何位置

查找字符串中存在的所有給定字符。字符可以出現(xiàn)在字符串的任何位置

UYOU 2021-11-18 20:36:11
我試圖找出字符串中是否存在給定的字符。對于下面的示例,它返回 true。但它應該是錯誤的,因為在 'abcdef' 中只有一個 'a'。我的要求:確認所有給定的字符都存在于字符串中。字符可以在字符串中的任何位置。不需要它們應該在相同的順序。但計數(shù)很重要。在下面的示例中,我給出了“aca”,它包含兩個“a”,但正則表達式中的值在“abcdef”中僅包含一個“a”。如何檢查字符串中是否存在所有給定字符?var regEx = new RegExp("^[abcdef]+$");regEx.test('aca') // returns true. **Expected**: false for this case
查看完整描述

2 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

您可以先找到每個字符的計數(shù),然后使用every()方法檢查是否所有字符都存在。


function findAll(str, key) {

  let count = str.split('').reduce((count, c) => {

    count[c] = count[c] + 1 || 1;

    return count;

  }, {});


  return key.split('').every(c => {

    if (count[c]) {

      count[c]--;

      return true;

    }

  });

}


console.log(findAll("abcdef", "abc"));

console.log(findAll("abcdef", "abca"));

console.log(findAll("abcdef", "xyz")); 


查看完整回答
反對 回復 2021-11-18
?
森林海

TA貢獻2011條經驗 獲得超2個贊

正則表達式匹配和對象的小技巧Set:


var chars = 'abcdef'


function match_all(str, char_str){

    var pat = RegExp('['+ char_str +']', 'g'),

    matched_chars = [...new Set(str.match(pat))];

    matched_chars.sort()

    console.log(matched_chars.join('') == char_str)

}

  

match_all('aca', chars)

match_all('acbacadaef1a2a3', chars)

match_all('ccbacad1e2d', chars)


查看完整回答
反對 回復 2021-11-18
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號