如何在字符串截取中避免分割到半个汉字(26分)

  • 主题发起人 主题发起人 gongfs
  • 开始时间 开始时间
G

gongfs

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在字符串截取中避免分割到半个汉字
 
字符串定义为WideString
 
判断一下是否是汉字
function ByteType(const S: string; Index: Integer): TMbcsByteType;
begin
Result := mbSingleByte; //默认为英文字符
if SysLocale.FarEast then //操作系统是亚洲版本
Result := ByteTypeTest(PChar(S), Index-1);
end;
 
function Copy2(aStr: string; Index: integer; Count: integer): string;
var
ws: WideString;
begin
ws:= aStr;
Result:= Copy(ws, Index, Count);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:= 'Hello老外们!';
ShowMessage(Copy2(Edit1.Text, 1, 7));
end;
 
多人接受答案了。
 
后退
顶部