作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
比较两个具有特殊字符的阿拉伯字符串时,例如
“إ”“أ”
比较总是失败
NSString* string1 = @"الإجمالي";
NSString* string2 = @"الإجمالي";
BOOL ifEqual ;
if([string1 isEqualToString:string2]){
ifEqual = YES;
}else{
ifEqual = NO; //Answer is NO
}
最佳答案
您遇到的问题是由于isEqualToString:
执行字面比较,即组成两个字符串的字节序列必须完全相同。
您的两个字符串看起来相同,但结构不同,一个字符串使用单个Unicode代码点表示阿拉伯字符集下面的汉字,另一个使用两个代码点阿拉伯字母表示下面汉字字符和下一个字符来产生相同的字符-这两种形式称为预分解和分解。
标准字符串compare:
方法族(compare:options:
,localizedCompare:
等)默认考虑组合字符,可以通过指定isEqualToString
将采用选项的形式设置为类似于NSLiteralSearch
。
因此,只需将代码更改为:
ifEqual = [string1 compare:string2] == NSOrderedSame;
关于ios - 比较带有特殊字符ios的阿拉伯字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43856141/
我在 mysql 数据库中有一个“价格”字段,其中包含以阿拉伯或波斯数字表示的产品价格。 数字示例:12345567890 //1234567890 我不知道如何格式化它以便以用户友好的方式格式化。我
由于单独使用 prawn gem 时阿拉伯字母显示为未知字符,因此我安装了 Arabic-Prawn gem 0.0.1 以阿拉伯语打印数据。我用下面的代码作为测试 Prawn::Document.g
我是一名优秀的程序员,十分优秀!