surnameField.text = "Fal à èà ò l'opo";
// remove space and apostrophe
NSString *surnarmeInput = [[surnameField.text stringByReplacingOccurrencesOfString:@" " withString:@""] stringByReplacingOccurrencesOfString:@"'" withString:@""];
我也会删除重音符。
结果“Falaeaolopo”
答案 0 :(得分:11)
// convert to a data object, using a lossy conversion to ASCII
NSData *asciiEncoded = [yourOriginalString dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:YES];
// take the data object and recreate a string using the lossy conversion
NSString *other = [[NSString alloc] initWithData:asciiEncoded
encoding:NSASCIIStringEncoding];
// relinquish ownership
[other autorelease];
将删除所有重音符号。删除所有空格
NSString *yourFinalString = [other stringByReplacingOccurrencesOfString:@" " withString:@""];
删除重音的第一部分,从this线程中的dreamlax的答案复制的代码..
答案 1 :(得分:1)
使用dataUsingEncoding:allowLossyConversion:似乎不适用于某些字符 - 例如Đ和đ。我对这些进行了特定的检查,然后是ascii编码。
答案 2 :(得分:0)
尝试使用NSString中的dataUsingEncoding:allowLossyConversion:
方法。