2012-03-26 3 views
1

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

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

Вышеуказанное не работает. Я попробовал несколько вариантов. Какие-либо предложения?

+1

Вы можете экранировать специальные символы обратной косой черты, так что, возможно попробовать '@ "\ @"' – joshuahealy

+0

возможно дубликат [NSString IndexOf в Objective-C] (http://stackoverflow.com/questions/256460/ NSString-IndexOf-в-Objective-C) –

ответ

4

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

NSString *email = @"[email protected]"; 
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

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

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

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

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