次の形式の入力文字列があります
"Jerry Lane"(山かっこ)jerry.lane@gmail.com(かっこは閉じた),"Harry Potter"(山かっこ)harry.potter@gmail.com(かっこは閉じた),"Indiana Jones",(山かっこ)indiana .jones@gmail.com(括弧は閉じた),"Tom Cruise"(山括弧は閉じた)tom.cruise@gmail.com(括弧は閉じた)
ここでは、最初にコンマ区切り文字に基づいて文字列を分離することになっています。これにより、次のような別の文字列が得られます
"Jerry Lane"(山かっこ)jerry.lane@gmail.com(かっこ閉じ)
次に、<> ブラケット間の文字列を抽出して保存する必要があります。これは、本質的に文字列 "jerry.lane@gmail.com" です。次のコードを使用していますが、次のエラーが表示されます。
キャッチされていない例外 'NSRangeException' が原因でアプリを終了しています。理由: '-[__NSCFConstantString substringWithRange:]: 範囲またはインデックスが範囲外です'
-(NSArray *)parseString:(NSString *)string
{
if(string)
{
NSArray *myArray = [string componentsSeparatedByString:@","];
for(NSMutableString *myString in myArray)
{
NSRange start,end;
start = [myString rangeOfString:@"<"];
end = [myString rangeOfString:@">"];
if(start.location != NSNotFound && end.location != NSNotFound)
{
NSString *emailAddress = [myString substringWithRange:NSMakeRange(start.location,end.location)];
NSString *name = [myString substringToIndex:start.location];
NSDictionary *myDictionary = [[NSDictionary alloc] init];
[myDictionary setValue:emailAddress forKey:@"Dhruvil Vyas"];
[testArray addObject:myDictionary];
}
}
}
return testArray;
}