MyChat Scripts: функция IsStringInList, поиск подстроки в строке-списке
Поиск подстроки в строке-списке, между элементами которой находится какой-либо разделитель.
Синтаксис
function IsStringInList(sWhat, sStringList, sDelimiter: string; bIgnoreCase: boolean): boolean;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
sWhat |
string |
какую подстроку нужно найти; |
sStringList |
string |
исходная строка, в которой производится поиск; |
bIgnoreCase |
boolean |
true, если игнорировать регистр символов, false — если различие между большими и маленькими буквами имеет значение. |
В большинстве функций MSL, которые возвращают текстовую строку с перечнем элементов, разделителем выступает символ вертикальной черты "|", однако можно использовать любые разделители, как из одного символа, так и нескольких.
Результат функции
True, если искомый элемент присутствует в исходной строке между разделителями.
Пример
const
sFirst = 'Blue|Red|Green|';
sSecond = 'John Carpenter,Ivan Dulin,Sara Connor';
begin
mLogScript('Original string "' + sFirst + '"', '');
if IsStringInList('red', sFirst, '|', true) then mLogScript('"red" found', '')
else mLogScript('"red" not found', '');
mLogScript('Original string "' + sSecond + '", case sensitive search', '');
if IsStringInList('sara connor', sSecond, ',', false) then mLogScript('"sara connor" found', '')
else mLogScript('"sara connor" not found', '');
end.
Результат работы скрипта
[16:08:24] (Log "IsStringInList"): Original string "Blue|Red|Green|"
[16:08:24] (Log "IsStringInList"): "red" found
[16:08:24] (Log "IsStringInList"): Original string "John Carpenter,Ivan Dulin,Sara Connor", case sensitive search
[16:08:24] (Log "IsStringInList"): "sara connor" not found