Delphi - удаление пробелов между отдельными буквами - PullRequest
0 голосов
/ 31 марта 2020

У меня та же задача, что и в этом вопросе: Вопрос о пробелах , но как новичок ie Мне нужно преобразовать лучший ответ в Delphi язык (10,3 Rio), используя TRegExp .

Другая задача решается следующим образом:

with RegExp do
begin
  Subject := Tmp;                                  // присваиваем Ф.И.О. уже ранее очищенным от суффиксов
  RegEx := '^(.*) van de (.*)$';                     // проверяем на наличие "van de" в Ф.И.О.
  if Match then
  begin
    Replacement := '\1 \2';
    temp2 := RegExp.ComputeReplacement;
    lstListAllFiles.Items.AddObject('index='+IntToStr(i)+' Найден префикс van de: "'+Tmp+'"', TObject(clOlive));
    Tmp := temp2;
    RecordFileName[i].OnlyPrefixAuthor := 'van de ';
    lstListAllFiles.Items.AddObject('          Будет заменен на: "'+Tmp+'"', TObject(clOlive));
  end;
end;

1 Ответ

0 голосов
/ 31 марта 2020

Итак, я решаю свою задачу (с некоторыми хитростями):

Str:=RegExpIO.Replace(Str,'(?<=(?<!\p{L})\p{L})\s(?=\p{L}(?!\p{L}))','')
Str:=ReplaceText(Str,'_','');

1-я строка ищет один символ и удаляет пробел между ними. Эта работа для предложений этого типа: " Wendy V Poll ", " Wendy V К Poll ".

2-я строка - это трюк для предложений этого типа: " Венди VVR Poll"," Венди V К RR Poll"и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...