读书人

怎么获得一个字符串中指定位置之前的一

发布时间: 2012-02-28 13:06:36 作者: rapoo

如何获得一个字符串中指定位置之前的一个完整字符?
如何获得指定位置之前的一个完整字符?
  在一个单字节和双字节组合的字串中,如 "中国1我en人民 ",类型为string型。现在要取第8个(是string类型的第8个)之前的1个字符(这个字符可能是单字节,也可能是双字节),如何取?
  也就是说:我想取出指定位置之前的一个字符!

[解决办法]
// mbLeadByte: 汉字的第一个字节
mbTrailByte: 汉字的第二个字节
mbSingleByte: 单个的字符,不是中文字符。


var
s:string;
i:integer;
begin
s:= '中国1我en人民 ';
i:=pos( '我 ',s );
case ByteType( s,i-1) of
mbSingleByte:showmessage( copy( s,i-1,1 ) );
mbLeadByte: showmessage( copy( s,i-1,2) );
mbTrailByte: showmessage( copy( s,i-2,2 ) );
end;

读书人网 >.NET

热点推荐