如何在iOS中查找包含@符号的子字符串

Cal*_*ron 1 c# iphone nsstring ipad ios

我搜索并搜索过,因为在iOS中的字符串(例如@"mystring")中使用了"@"符号,我找不到如何确定字符串是否包含它.一旦我确定它是否包含它,我需要知道它在字符串中的位置.

NSArray *array_Email_Parts = [str_Email_Address componentsSeparatedByString: @"//@"];
Run Code Online (Sandbox Code Playgroud)

以上不起作用.我尝试了几种变体.有什么建议?

Jas*_*wig 6

这将获得@符号的索引.

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"
}
Run Code Online (Sandbox Code Playgroud)

注意,@在一个内部完全有效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"
}
Run Code Online (Sandbox Code Playgroud)