有关处理中文字符的问题(50分)

  • 主题发起人 主题发起人 squire
  • 开始时间 开始时间
S

squire

Unregistered / Unconfirmed
GUEST, unregistred user!
想在一个string的每个字符中间加入一个‘%’,如把字符串“北航”变成“%北%航%”
于是
for i:=1 to Length(str) do
resultStr:=resultStr+str+'%';
可是处理英文字符还行,因为一个汉字占两个字符,所以这样处理完之后会变成乱码
要求既能处理英文又能处理汉字,英汉混合的也行。
谁有好办法呀?谢谢!
 
用ByteToCharIndex确定当前字符位置
更多信息查阅
Delphi Help
索引中找
MBCS utilities
 
把字符定义为char型试试
 
定义一个WideString类型变量,将str赋给它,然后再用
for i:=1 to Length(str) do
.....
处理
 
var
s,s1 : widestring;
i : integer;
begin
s:=edit1.Text ;
for i:=1 to length(s) do
begin
s1:=s1 +'%' + widestring(s);
end;
edit1.text:=s1;
end;
 
牛×,接受答案了,谢谢!
 
后退
顶部