我需要從超過一定長度的字串中回傳單詞,并在 1 行代碼中執行此操作。
假設我需要回傳長度超過 2 個字符的所有單詞......
到目前為止,我已經...
const wordsOver2Chars = str => str.match(/\w \s (.{2,})/g);
console.log(
wordsOver2Chars('w gh w qwe regh aerguh eriygarew hw whio wh w')
);
這不起作用。
str.match(/\w \s /g) 將回傳一個單詞陣列,但我不知道如何添加長度限制器。
使用 split(' ').match(\regExp) 錯誤。
uj5u.com熱心網友回復:
.split然后使用.filter。
console.log('w gh w qwe regh aerguh eriygarew hw whio wh w'.split(" ").filter(word => word.length > 2))
uj5u.com熱心網友回復:
\w 元字符匹配單詞字符。當你添加一個 符號時,你暗示你想要一個長度至少為 1 的單詞字符鏈,如果你在它前面添加另一個 \w,你得到的最小長度為 2。依此類推。
const wordsOver2Chars = str => str.match(/\w\w\w /g);
console.log(wordsOver2Chars('w gh w qwe regh aerguh eriygarew hw whio wh w'));
這可能是最容易理解的方法,您要匹配一個單詞字符,然后是另一個單詞字符,然后是 1 鏈。
如果你想在技術上是正確的,你可以使用花括號來定義元素的數量,(3 是最小值,逗號后為空表示未定義最大值)
const wordsOver2Chars = str => str.match(/\w{3,}/g);
console.log(wordsOver2Chars('w gh w qwe regh aerguh eriygarew hw whio wh w'));
uj5u.com熱心網友回復:
你需要使用正則運算式嗎?最簡單的方法是
const wordsOver2Chars = s => s.split(' ').filter(w => w.length > 2).join(' ');
在 ' ' 處拆分字串,然后過濾結果陣列以僅包含長度 > 2 的單詞并再次加入它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408164.html
標籤:
