Delphi中的Pos函数对中文支持有问题,如果有中文返回int实际是错的,大家一般怎么处理?尤其是在又有中文又有E文的字符串处理?

namelysweet 2004-11-01 06:28:29
Delphi中的Pos函数对中文支持有问题,如果有中文返回int实际是错的,大家一般怎么处理?尤其是在又有中文又有E文的字符串处理?


比如:
s:='english<hr> is tool.';

用pos('<hr>',LowerCase(s))函数可以正确返回位置,但是如果为:
s:='engli语言<hr> is tool.';
用POS返回的位置实际是错的……???!
...全文
255 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hotboy1000 2004-11-08
  • 打赏
  • 举报
回复
原来要用widestring呀嘿嘿 我的问题也解决了,
widestring Unicode characters; multi-user servers and multi-language applications
namelysweet 2004-11-02
  • 打赏
  • 举报
回复
Copy取的是错的,一个中文2个字符,用MidStr可以,beyondtkl回答是正确的,用widestring,谢谢
mdjwmy 2004-11-02
  • 打赏
  • 举报
回复
pos取值时考虑到中文字符了,取得的是字符的索引位置,你可以用Copy(S; Index, Count: Integer)试验一下,取得的该字符位置是否正确
beyondtkl 2004-11-01
  • 打赏
  • 举报
回复
你确定是错误的??

你的s应该定义为 widestring..就OK了

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧