NS表示字符和/或字母替换



我见过一些关于过滤掉谓词中特殊字符的类似问题 - 但没有适合我的需求。我真的不确定我想做的事情是否可行,但我会把它放到社区:

我正在为包含大量 IPA 字符的字典处理发音字符串,例如: ȵ ɕ ŋ ẓ

我想做的是为这些字符设置一些替换,例如: n=ȵ x=ɕ ng=ŋ r=Ẓ

在搜索谓词中,以便搜索 n* 将导致以 ȵ 开头的任何内容,等等......

即使是其他像"v"这样的 IPA"字母",如果有一种简单的方法可以在搜索字母中切换其他 STRING 字母,那就最好用"w"来表示

......

似乎这应该在谓词之外完成。创建一个字典,其中键是要替换的字符串,值是替换。然后,有一个循环,循环遍历字典并对要搜索的字符串执行每次替换。替换后生成的字符串是您在谓词中使用的字符串。

这里得到了答案: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;
}

最新更新