2012-03-26 14 views
1

私は検索して検索しましたが、iOSの文字列(例:@ "mystring")で "@"記号が使用されているため、文字列それを含んでいる。一度それが含まれているかどうかを判断したら、文字列内の位置を知る必要があります。iOSで@ symbolを含む部分文字列を見つける方法

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

上記は機能しません。私はそれのいくつかのバリエーションを試してみました。助言がありますか?

+1

あなたは "\ @" ' – joshuahealy

+0

が重複する可能性のをので、多分'てみてください@、バックスラッシュで特殊文字をエスケープすることができます[Objective-Cの中のNSStringのindexOf](http://stackoverflow.com/questions/256460/ nsstring-indexof-in-objective-c) –

答えて

4

を試してみてくださいこれにより、@シンボルのインデックスが取得されます。 @NSString以内に完全に有効であることを

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

注意、それをエスケープしないでください。

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 @ 

あなたは文字列で、@に問題がある場合は@@

関連する問題