我已经看到了一些关于在谓词中过滤掉特殊字符的类似问题 - 但是没有任何东西适合我的需要。我不确定我想做什么甚至是可能的,但我会把它交给社区代替:
我正在处理包含大量IPA字符的字典的发音字符串,例如: ȵ ɕ ŋ ž
我想要做的是为这些字符设置一些替换,例如: N =ȵ X =ɕ 纳克= N R 1 = Z
在搜索谓词中,以便搜索n *会导致以ȵ等开头的任何内容等...
即使是其他IPA'字母',如“v”也最好用“w”相似,如果有一种简单的方法来切换SEARCH字母中的其他STRING字母会很棒......
答案 0 :(得分:0)
从这里得到答案: stackoverflow.com/questions/21852502/nspredicate-ignore-numbers-in-string-pinyin 我问的另一个问题......
这是代码[这对以后的其他人有用]我在课堂词汇中使用字符串“pro”
- (NSString *)searchableStringValueTwo {
NSCharacterSet *invalidSet = [NSCharacterSet characterSetWithCharactersInString:@"ȵ"];
NSString *searchString = [[pro componentsSeparatedByCharactersInSet:invalidSet] componentsJoinedByString:@"n"];
return searchString;
}
- (NSString *)searchableStringValueThree {
NSCharacterSet *invalidSet = [NSCharacterSet characterSetWithCharactersInString:@"ɕ"];
NSString *searchString = [[pro componentsSeparatedByCharactersInSet:invalidSet] componentsJoinedByString:@"x"];
return searchString;
}
- (NSString *)searchableStringValueFour {
NSCharacterSet *invalidSet = [NSCharacterSet characterSetWithCharactersInString:@"ŋ"];
NSString *searchString = [[pro componentsSeparatedByCharactersInSet:invalidSet] componentsJoinedByString:@"ng"];
return searchString;
}
- (NSString *)searchableStringValueFive {
NSCharacterSet *invalidSet = [NSCharacterSet characterSetWithCharactersInString:@"Ẓ"];
NSString *searchString = [[pro componentsSeparatedByCharactersInSet:invalidSet] componentsJoinedByString:@"r"];
return searchString;
}
- (NSString *)searchableStringValueSix {
NSCharacterSet *invalidSet = [NSCharacterSet characterSetWithCharactersInString:@"v"];
NSString *searchString = [[pro componentsSeparatedByCharactersInSet:invalidSet] componentsJoinedByString:@"w"];
return searchString;
}
答案 1 :(得分:0)
这似乎应该在谓词之外完成。创建一个字典,其中键是要替换的字符串,值是替换。然后,有一个循环遍历字典并对要搜索的字符串执行每次替换。替换后生成的字符串是您在谓词中使用的字符串。