System.Text.Encoding.Default.GetByteCount(str)==str.Length
为无中文,否则为有中文
DELPHI
function CheckEn(AEn: String): Boolean;
var
ans : AnsiString;
wis : WideString;
i, anslng, wislng: integer;
begin
Result := False;
ans := AnsiString(AEn);
wis := WideString(AEn);
for i := 1 to Length(AEn) do
begin
anslng := Length(ans[i]);
wislng := Length(AnsiString(wis[i]));
if anslng <> wislng then Result := False
else if ord(ans[i])<128 then
begin
Result := True;
Break;
end;
end;
end;
为无中文,否则为有中文
DELPHI
function CheckEn(AEn: String): Boolean;
var
ans : AnsiString;
wis : WideString;
i, anslng, wislng: integer;
begin
Result := False;
ans := AnsiString(AEn);
wis := WideString(AEn);
for i := 1 to Length(AEn) do
begin
anslng := Length(ans[i]);
wislng := Length(AnsiString(wis[i]));
if anslng <> wislng then Result := False
else if ord(ans[i])<128 then
begin
Result := True;
Break;
end;
end;
end;

博客介绍了在Delphi中检测字符串是否包含中文的方法。通过比较System.Text.Encoding.Default.GetByteCount(str)与str.Length判断,还给出了具体的Delphi函数CheckEn,用于精确检测字符串是否为纯英文。
3807

被折叠的 条评论
为什么被折叠?



