gpt4 book ai didi

ios - 如何从古吉拉特语(其他语言)的 ios 字符串中获取单个字符

转载 作者:可可西里 更新时间:2023-11-01 04:28:47 25 4
gpt4 key购买 nike

我正在尝试从 NSString 获取单个字符,例如 "ઐતિહાસિક","પ્રકાશન","ક્રોધ"。我想要像 1)ઐ,તિ,હા,સિ,ક 2) પ્ર,કા,શ,ન 3) ક્રો,ધ 这样的输出,但是输出是这样的 1)ઐ , ત , િ , હ , િ , ક 2) પ , ્ , ર , ક , ા , શ , ન 3) ક , ્ , ર , ો , ધ

我使用了如下代码:

NSMutableArray *array = [[NSMutableArray alloc]init];

for (int i=0; i<strElement.length; i++)
{
NSString *str = [strElement substringWithRange:NSMakeRange(i, 1)];
[array addObject:str];

}
NSLog(@"%@",array);

让我们将 strElement 作为 "ક્રોધ"然后我得到这样的输出 ક , ્ , ર , ો , ધ但我需要这样的输出 ક્રો,ધ

有什么方法可以获得所需的输出?有没有直接在 iOS 中可用的方法,或者需要我自己创建它,然后有什么方法或想法如何创建它?

感谢任何帮助

最佳答案

您的代码假设字符串中的每个字符都是单个 unichar 值。但事实并非如此。一些 Unicode 字符由多个 unichar 值组成。

解决方案是使用 rangeOfComposedCharacterSequenceAtIndex: 而不是固定范围长度为 1 的 substringWithRange:

NSString *strElement = @"ઐતિહાસિક પ્રકાશન ક્રોધ";
NSMutableArray *array = [[NSMutableArray alloc]init];

NSInteger i = 0;
while (i < strElement.length) {
NSRange range = [strElement rangeOfComposedCharacterSequenceAtIndex:i];
NSString *str = [strElement substringWithRange:range];
[array addObject:str];
i = range.location + range.length;
}

// Log the results. Build the results into a mutable string to avoid
// the ugly Unicode escapes shown by simply logging the array.
NSMutableString *res = [NSMutableString string];
for (NSString *str in array) {
if (res.length) {
[res appendString:@", "];
}
[res appendString:str];
}
NSLog(@"Results: %@", res);

这个输出:

Results: ઐ, તિ, હા, સિ, ક, , પ્ર, કા, શ, ન, , ક્રો, ધ

关于ios - 如何从古吉拉特语(其他语言)的 ios 字符串中获取单个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33819540/

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