我需要从字符串中删除所有非标准文本字符。我需要删除所有非 ASCII 字符和控制字符(换行符/回车符除外)。
最佳答案
这是 Cosmin 的一个变体,它只遍历字符串一次,但使用高效的分配模式:
function StrippedOfNonAscii(const s: string): string;
var
i, Count: Integer;
begin
SetLength(Result, Length(s));
Count := 0;
for i := 1 to Length(s) do begin
if ((s[i] >= #32) and (s[i] <= #127)) or (s[i] in [#10, #13]) then begin
inc(Count);
Result[Count] := s[i];
end;
end;
SetLength(Result, Count);
end;
关于delphi - 从字符串中删除所有非标准文本字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650532/