gpt4 book ai didi

ios - 比较带有特殊字符ios的阿拉伯字符串

转载 作者:行者123 更新时间:2023-12-01 18:06:06 25 4
gpt4 key购买 nike

比较两个具有特殊字符的阿拉伯字符串时,例如
“إ”“أ”
比较总是失败

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com