NSString - 仅转换为纯字母(即删除重音+标点) [英] NSString - Convert to pure alphabet only (i.e. remove accents+punctuation)
本文介绍了NSString - 仅转换为纯字母(即删除重音+标点)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试比较没有任何标点符号、空格、重音符号等的名称.目前我正在做以下事情:
I'm trying to compare names without any punctuation, spaces, accents etc. At the moment I am doing the following:
-(NSString*) prepareString:(NSString*)a {
//remove any accents and punctuation;
a=[[[NSString alloc] initWithData:[a dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] encoding:NSASCIIStringEncoding] autorelease];
a=[a stringByReplacingOccurrencesOfString:@" " withString:@""];
a=[a stringByReplacingOccurrencesOfString:@"'" withString:@""];
a=[a stringByReplacingOccurrencesOfString:@"`" withString:@""];
a=[a stringByReplacingOccurrencesOfString:@"-" withString:@""];
a=[a stringByReplacingOccurrencesOfString:@"_" withString:@""];
a=[a lowercaseString];
return a;
}
但是,我需要对数百个字符串执行此操作,并且需要使其更高效.有什么想法吗?
However, I need to do this for hundreds of strings and I need to make this more efficient. Any ideas?
推荐答案
NSString* finish = [[start componentsSeparatedByCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""];
这篇关于NSString - 仅转换为纯字母(即删除重音+标点)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文