Objective c iPhone-将NSString拆分为字符NSString
我有一个2d数组{{“foo”,“food only”},{“bar”,“babies are rad”}…},我需要得到两个数组:一个字符和一个对应的单词。所以,"f","o","b","a","r"和"食物","只有","婴儿","是"," 那么首先,我如何从"foo"中得到"f","o","o"? 第二,我怎么能只保留那张单子?我猜是NSDictionary,只有当key不在那里时才加上给我@“f”:@“food”@“o”:@“only”,然后使用getObjects:和key:得到两个C数组,我将把它们转换成nsarray 根据下面的答案,我同意以下观点。我实际上并没有使用NSMutableDict,我只是在创建2个输出数组之前将字母添加到其中以进行唯一性检查:Objective c iPhone-将NSString拆分为字符NSString,objective-c,nsstring,nsdictionary,Objective C,Nsstring,Nsdictionary,我有一个2d数组{{“foo”,“food only”},{“bar”,“babies are rad”}…},我需要得到两个数组:一个字符和一个对应的单词。所以,"f","o","b","a","r"和"食物","只有","婴儿","是"," 那么首先,我如何从"foo"中得到"f","o","o"? 第二,我怎么能只保留那张单子?我猜是NSDictionary,只有当key不在那里时才加上给我@“f”:@“food”@“o”:@“only”,然后使用getObjects:和key:得到两个C
unichar ch = [[arr objectAtIndex:0] characterAtIndex:i];
NSString *s = [NSString stringWithCharacters: &ch length: 1];
if (![dict objectForKey:s]) {
}
如果需要字符串的单个字符,请尝试
-characterAtIndex:
。这将使它们成为unichar
原语类型,然后可以将其包装在NSString
中,如下所示:
unichar ch = ...;
NSString *chString = [NSString stringWithCharacters: &ch length: 1];
要保持唯一性,您可以将对象存储在
NSMutableSet
中,但它不会保留对象添加到其中的顺序。getCharacters将让您从一个字符数组开始:
你可以在一个可变集合中添加两个数组{“f”、@“foo”}和{“f”、@“foo”}后循环检查是否存在唯一性,最后是否会添加这两个数组,或者它们测试为相等,并且只添加一个?集合
{f,foo}
和{f,foo}
的联合集是{f,foo}
。无论添加多少次,相等的对象只显示一次。