一个超简单的取汉字首拼函数
在网络搜索了很多delphi汉字取首拼代码,发现都比较麻烦,偶然在Excel的代码中,发现利用'八嚓哒发旮铪讥讥咔垃妈拿哦七然仨他哇哇哇夕丫匝',可以非常简单的达到目的。不过无法直接运用到delphi,经反复分析,终于移植到delphi,代码分享如下:
- Delphi(Pascal) code
function py(strHz:WideString):string ;var strJZ,s1,s2:WideString; i,k:Integer; strPY:string;begin strJZ:='八嚓哒发旮铪讥讥咔垃妈拿哦七然仨他哇哇哇夕丫匝';//分隔基准 for i:=1 to Length(strHz) do begin k:=0; repeat inc(k); s1:=Copy(strJZ,k,1); s2:=Copy(strHz,i,1); until WideCompareText(s1,s2)>0; //这里的函数WideCompareText是关键! strPY := strPY + Chr(64 + k); end; Result:=strPY;end;