Я знаком с поиском строки для данной подстроки:
if (string.indexOf(substring) > -1) {
var containsSubstring = true;
}
Но что, если подстрока должна быть словом ?
Слово .
- он должен быть в начале строки с пробелом после нее; или же
- в конце строки с пробелом перед ней; или же
- в середине строки с пробелом с каждой стороны
Если я ищу подстроку fox
:
the quick brown fox // matches
fox jumps over the lazy dog // matches
quick brown fox jumps over // matches
the quick brownfox // does not match
foxjumps over the lazy dog // does not match
quick brownfox jumps over // does not match
quick brown foxjumps over // does not match
quick brownfoxjumps over // does not match
Есть ли какой-нибудь способ достичь указанных выше результатов с indexOf
или мне нужно будет использовать регулярное выражение?
3 ответа
Вы пытались использовать регулярное выражение с границами слов:
if (/(\bfox\b)/g.test(substring)) {
var containsSubstring = true;
}
https://regex101.com/r/G3iOGi/1
Это можно сделать, проверив, находится ли она в начале строки и имеет ли после нее пробел или находится в конце строки, а также до или после середины строки и до и после пробела. ,
Вы можете использовать метод поиска.
var string = "foxs sas"
var search = string.search(/\bfox\b/) >= 0? true : false;
console.log(search)
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.