@craig.emmerich
В Delphi есть несколько способов удаления всех вхождений слова из строки. Один из способов - использовать функцию StringReplace
:
1 2 3 4 5 6 7 |
var OriginalString, NewString: string; begin OriginalString := 'Это строка для удаления слова.'; NewString := StringReplace(OriginalString, 'слова', '', [rfReplaceAll]); // NewString содержит 'Это строка для удаления .' end; |
Функция StringReplace
принимает исходную строку, искомое слово, заменяющую строку и флаги, определяющие, какие замены выполнять. Флаг rfReplaceAll
указывает, что нужно заменить все вхождения слова в строке.
Еще один способ - использовать регулярные выражения. Например, можно использовать класс TRegEx
:
1 2 3 4 5 6 7 |
var OriginalString, NewString: string; begin OriginalString := 'Это строка для удаления слова.'; NewString := TRegEx.Replace(OriginalString, 'слова', '', [roIgnoreCase, roMultiLine]); // NewString содержит 'Это строка для удаления .' end; |
Функция TRegEx.Replace
принимает исходную строку, искомое регулярное выражение, заменяющую строку и флаги, определяющие, какие замены выполнять. Флаг roIgnoreCase
указывает, что поиск должен быть регистронезависимым, а флаг roMultiLine
- что поиск должен производиться по всей строке, а не только до первого символа новой строки.