Строка поиска для определенного текста - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь найти смешанную строку для конкретного текста.на данный момент следующее выполняет поиск только начала и конца строки.Я хочу в основном искать слово, если оно существует где-либо в строке.

пример строки для поиска: dMc67FkhyMzzEmjELDcMEfqPJkKbF4jHis

Я мог бы искать, например, для: john

на данный момент вот соответствующие фрагменты кода.Есть мысли?

Я вызываю свой код с помощью команды вроде: "node file.js Джон Боб Уолтер", это дает мне возможность передавать любое количество строк.

const lookFor = process.argv.slice(2).map(function (f) { return f.toLowerCase().replace(/[^a-zA-Z0-9]/g, '') })

......

var re = '^(d)(' + lookFor.join('|') + ')(.+)$|^(d.+)(' + lookFor.join('|') + ')$'

......

const regexp = new RegExp(re, 'I')

......

var test = regexp.exec(account.address)

Поиск должен выполняться без учета регистра.Есть идеи, как лучше всего это сделать?Я не могу разобраться с этим.

Последняя часть, которую мне нужно будет отработать после этого, - выделить строку, которую я искал, при выводе всей строки на консоль.

1 Ответ

0 голосов
/ 26 декабря 2018

Просто используйте String.prototype.includes():

var str = "dMc67FkhyMzzEmjELDcMEfqPJkKbF4jHis";
var search = "john";
console.log(str.includes(search)); //Should return false

var str = "dMc67FkhyjohnMzzEmjELDcMEfqPJkKbF4jHis";
var search = "john";
console.log(str.includes(search)); //Should return true

И если вы хотите убрать разницу в регистре (например, это не найдет jOhn), вы можете использовать String.prototype.toLowerCase():

var str = "dMc67FkhyMzzEmjJOHnELDcMEfqPJkKbF4jHis";
var search = "john";
console.log(str.toLowerCase().includes(search)); //Should return true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...