這是我的代碼,問題是您搜索“remember”還是“member”,它回傳結果。因為“remember”有“member”,我只想搜索完全匹配。當我搜索“會員”時,我不應該回傳任何東西。
txt= `38
00:04:17.795 --> 00:04:23.551
Two previous cases
were open and shut.
39
00:04:23.601 --> 00:04:29.140
It was January 3, 1995,
my daughter's birthday.
40
00:04:29.140 --> 00:04:30.441
I remember.`
const searchedWord = 'member';
var res = txt
.toLowerCase()
.split('\n\n')
.filter((x) => {
return x.includes(searchedWord.toLowerCase());
});
console.log(res);
uj5u.com熱心網友回復:
聽起來您想要在要搜索的單詞的任一側要求分詞。你可以用正則運算式做到這一點:
const searchRegex = /\bmember\b/i; // ***
var res = txt
.toLowerCase()
.split('\n\n')
.filter((x) => {
return searchRegex.test(x); // ***
});
現場示例:
顯示代碼片段
const txt = `38
00:04:17.795 --> 00:04:23.551
Two previous cases
were open and shut.
39
00:04:23.601 --> 00:04:29.140
It was January 3, 1995,
my daughter's birthday.
40
00:04:29.140 --> 00:04:30.441
I remember.
41
He was a member of the club
42
Something else`;
const searchRegex = /\bmember\b/i;
var res = txt
.toLowerCase()
.split('\n\n')
.filter((x) => {
return searchRegex.test(x);
});
console.log(res);
如果您需要動態創建正則運算式(即,以字串變數或類似的內容開頭"member"),請參閱此問題的答案,如果相關,請參閱此問題的.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388753.html
標籤:javascript 细绳
上一篇:c#中的字串處理?
