在下面的代码示例中,我希望它只打印“相同”.但我得到“相同,不同,不同”.
program Project2;{$APPTYPE CONSolE}{$R *.res}uses System.SysUtils;begin if AnsiSameText('abcde','ABCDE') then // Same WriteLn('Same') else WriteLn('Different'); if AnsiSameText('abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMnopQRSTUVWXYZ') then // different WriteLn('Same') else WriteLn('Different'); if AnsiSameText('i','I') then // different WriteLn('Same') else WriteLn('Different');end.
以不区分大小写的方式比较文本的正确方法是什么?
我正在使用Delphi XE7.
解决方法 Delphi使用CFLocalecopyCurrent返回的值初始化UTF8CompareLocale.在AnsiSameText中使用UTF8CompareLocale作为用于不区分大小写的比较的区域设置.但是,如果OSX的语言设置为荷兰语,OSX Yosemite认为“我”和“我”不同.调用SetUTF8CompareLocale(‘en_US’);在荷兰语系统上修复问题而无需修补Delphi单元.
总结以上是内存溢出为你收集整理的macos – 如何在OSX Yosemite上以不区分大小写的方式比较文本全部内容,希望文章能够帮你解决macos – 如何在OSX Yosemite上以不区分大小写的方式比较文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)