在Delphi中删除字符串中的多个空格的最简单方法是什么?

问题描述 投票:0回答:1

假设我的字符串是:

"The   fox   jumped   over    the log."

然后应该变成:

"The fox jumped over the log."

在不循环和拆分字符串的情况下实现此目的最简单的(1-3 行)是什么?

string delphi freepascal
1个回答
1
投票

无循环:

Result := StringReplace(StringReplace(S, '   ', ' ', [rfReplaceAll]), '  ', ' ', [rfReplaceAll]);

说明:

  • 它首先将所有出现的三个连续空格替换为一个
  • 然后用一个替换所有出现的两个连续空格

替代方案(未经测试):

Result := String.SplitString(S, ' ').Join(' ');
© www.soinside.com 2019 - 2024. All rights reserved.