delphi - 从字符串中删除所有非标准文本字符

标签 delphi parsing ascii delphi-2010 delphi-7

我需要从字符串中删除所有非标准文本字符。我需要删除所有非 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/

相关文章:

python - 在 Python 中大写非 ASCII 单词

java - 如何在 Java 中将 UTF-8 转换为 US-Ascii

c++ - 从 Delphi 应用程序调用外部函数 (C++) 时发生访问冲突

multithreading - 多个TThread实例

c# - 如何最好地解析任何常量 Lua 表而不将其加载到 Lua VM 中?

java - 在 Java 中静态输入脚本语言

java - 为什么read()方法在EOF处返回-1?

数据库同步

delphi - 格式和指针/十六进制值(内存覆盖)

ruby - 在这种情况下,正则表达式比数组比较快吗?