2011-09-23 16 views
1

У меня есть NSString какУдалить неанглоязычных символы из NSString (Obj-C)

Aavkar комплекс, напротив Gurukul, Драйв-ин-роуд, Ахмедабад, àªà «àªàª ° ાત, Индия

поэтому я хочу рассматривать только английские символы и без английские символы сверху строки, поэтому, пожалуйста, дайте мне любую идею.

Заранее спасибо.

ответ

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 поэтому, пожалуйста, помогите мне, как удалить –

Смежные вопросы