-->

NSPredicate字符和/或字母替换(NSPredicate Character and/or

2019-09-27 09:42发布

我已经看到了关于谓词过滤掉特殊字符一些,有些,类似的问题 - 但没有适合我的需要。 我真的不知道,如果是我想要做的,甚至有可能,但我把它给社会,而不是:

ȵɕN个Z:我与一个字典,包含例如大量的IPA字发音的字符串工作

我想要做的是建立了这些字符一些替代,是这样的:N =ȵX =ɕ纳克= N R 1 = Z

在搜索谓词,以便为N *搜索会导致任何事情开始在ȵ,等等,等等...

即使其他IPA“字母”像“V”将最好由一个“W”相似,如果在搜索字母切换为其他包含字母,这将是伟大的一个简单的方法...

Answer 1:

看起来这应该谓语外完成。 创建一个字典,其中键是要被替换的字符串和值的替代品。 然后,有一个循环迭代的字典和执行上,你将搜索字符串每次更换。 更换后的结果字符串是您在谓词使用的字符串。



Answer 2:

得到了这里的答案:stackoverflow.com/questions/21852502/nspredicate-ignore-numbers-in-string-pinyin的其他问题,我问...

这是代码[柜面这是任何其他有用以后]我在课堂上字用于字符串“亲”

- (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;
}


文章来源: NSPredicate Character and/or Letter Substitutions