如何将字符串中的\ xA0(或非ASCII)字符替换为''?

Sim*_*mon 1 delphi string non-ascii-characters

我有一个包含大量非ASCII字符的excel文件,我想用空格字符替换它.

此文本将输入MySQL数据库,并且不会在字符串中使用这些字符导入.我HY000 Incorrect string value试图发布该行时得到一个.

Rob*_*ove 6

如果修复了非Ascii字符集,您可以使用:

NewString := StringReplace(OriginalString,#1#4,' ',[rfReplaceAll])
Run Code Online (Sandbox Code Playgroud)

其中#1#4是您要替换的非ascii字符.

以下是一些有关它的文档.

你也可以这样做.

function StripNonAlpha(aInput : String) : String;
var
 I : Integer;
begin
 result := aInput;
 for I := 1 to length(result) do
 begin
   if not CharInSet(result[I],['A'..'Z','a'..'z']) then
      result[I] := ' ';
 end;
end;
Run Code Online (Sandbox Code Playgroud)

然后,您可以将CharInSet中的Set更改为可接受的字符.