Как найти подстроку, содержащую символ @ в iOS - PullRequest
1 голос
/ 27 марта 2012

Я искал и искал, и поскольку символ «@» используется в строках (например, @ «mystring») в iOS, я не могу найти, как определить, содержит ли строка его. Как только я определю, содержит ли он его, мне нужно знать его местоположение в строке.

NSArray *array_Email_Parts = [str_Email_Address componentsSeparatedByString: @"//@"];

Выше не работает. Я попробовал несколько вариантов этого. Есть предложения?

Ответы [ 2 ]

6 голосов
/ 27 марта 2012

Получит индекс символа @.

NSString *email = @"user@example.com";
NSRange range = [email rangeOfString:@"@"];
if (range.location != NSNotFound) {
    NSLog(@"Location of @ is %i", range.location);
    // Prints "Location of @ is 4"
}

Обратите внимание, что @ совершенно допустимо в пределах NSString, не избегайте его.

NSArray *parts = [email componentsSeparatedByString:@"@"];
if ([parts count] == 2) {
    NSString *user = [parts objectAtIndex:0];   // equal to "user"
    NSString *domain = [parts objectAtIndex:1]; // equal to "example.com"
}
1 голос
/ 27 марта 2012

Я не совсем понимаю, что вы на самом деле просите, но я думаю, что вы ищете это:

if ([myString rangeOfString:@"@"].location != NSNotFound)
    //myString contains @
else
    //myString does not contain @

Если у вас возникли проблемы с @ в строке, попробуйте @@

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...