2011-09-23 67 views
1

我的NSString像从NSString的(对象 - )

Aavkar大楼,对面Gurukul,Dri​​ve-In的路,艾哈迈达巴德, àªà«àªàª°àª¾àª¤,印度

删除非英语字符

所以我想只考虑英文字符和没有 英文字符是从上面的字符串,所以请给我任何想法。

在此先感谢。

回答

4

这里是一个小脏例如:

NSString *test = @"Olé, señor!"; 

NSMutableString *asciiCharacters = [NSMutableString string]; 
for (NSInteger i = 32; i < 127; i++) { 
    [asciiCharacters appendFormat:@"%c", i]; 
} 

NSCharacterSet *nonAsciiCharacterSet = [[NSCharacterSet characterSetWithCharactersInString:asciiCharacters] invertedSet]; 

test = [[test componentsSeparatedByCharactersInSet:nonAsciiCharacterSet] componentsJoinedByString:@""]; 

NSLog(@"%@", test); // Prints @"Ol, seor!" 
+0

感谢你这么多 –

0

Here是使用NSRange一些示例代码的一种用于文本框做到这一点,尽管代码应该是很容易适应使用的NSString阵列的。希望有助于!

1

试试这个: -

NSString *emailRegEx = @"[A-Za-z]"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx]; 
    //Valid email address 
    NSString *[email protected]"gagdaksdhaksdhaskdhasldhasldalasàªà«àªàª°àª¾àª¤dhwheqweuqweuqwe"; 
    NSString *[email protected]""; 
    for (int i=0; i<[textString length]; i++) { 
     NSString *text2string=[textString substringWithRange:NSMakeRange(i,1)]; 
     NSLog(@"%@",text2string); 
     if ([emailTest evaluateWithObject:text2string] == YES) 
     { 
      NSLog(@"yesenglishCharacter"); 
      textFinalString=[textFinalString stringByAppendingString:text2string]; 

     } 
     else { 
      NSLog(@"noenglishCharacter"); 
     } 


    } 
    NSLog(@"textFinalString%@",textFinalString); 
+0

感谢了很多,但它的回报gagdaksdhaksdhaskdhasldhasldalasªªªªªdhwheqweuqweuqwe所以请帮助我如何删除 –