alaskafx
@alaskafx
Не .do Frontend

Как найти и вернуть слово из массива?

Есть массив и строка:

words = [
'four', 'last', 'catch'
];

let p = 'Текст 1, 2, 3, last'


Я хочу проверить: есть ли какое-то из этих слов из массива в строке, и если есть - вернуть это слово.
Как я могу это сделать?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 4
@lolzqq
HTML,CSS,JS,PHP
Циклом пройтись по массиву - words[i], и проверять p.search(words[i]). Значение, отдаваемое p.search будет первым символом вхождения искомого в строку или -1, если слово не нашлось.
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
words.filter((w) => p.includes(w)) 
// ['last'] - массив слов, найденных в строке
Одно «но»: так обнаружится и под-строка, например слово "last" найдётся в строке "Tambov oblast'"
Ответ написан
hahenty
@hahenty
('•')
( ( s, w ) => w.filter( w => { const r = new RegExp( '\\b' + w + '\\b' ); return r.test( s ) } ) ) ( p, words )
Ответ написан
TRen208
@TRen208
let words = [ 'four', 'last', 'catch' ];

let p = 'Текст 1, 2, 3, last';

p.match(/([А-Яа-я]|[A-Za-z])+/g).find(w => words.includes(w));

Вывод: "last"

[А-Яа-я] - ищет русские буквы
[A-Za-z] - ищет английские буквы
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы