2012-03-26 90 views
1

我已经搜索和搜索,并且由于在iOS中字符串中使用了“@”符号(例如:@“mystring”),我无法找到如何确定字符串包含它。一旦我确定它是否包含它,我需要知道它在字符串中的位置。如何查找在iOS中包含@符号的子字符串

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

以上不起作用。我已经尝试了它的几个变种。有什么建议么?

+1

您可以用反斜杠转义的特殊字符,所以也许尝试'@ “\ @”' – joshuahealy 2012-03-26 22:40:16

+0

可能重复的[的NSString的indexOf在Objective-C](http://stackoverflow.com/questions/256460/的NSString-的indexOf合目标c) – 2012-03-26 22:47:24

回答

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 @ 

如果您有字符串中的@麻烦尝试@@

相关问题