我正在尝试将电子邮件发送到我从服务器获取的列表,该服务器是一组电子邮件,其输出格式为
(
"john@gmail.com\n",
"katebell@gmail.com\n"
"\nakhil@gmail.com",
"mary@gmail.com",
"timcorb\n@gmail.com
)
现在你可以看到一些电子邮件中间有换行符,而且这些电子邮件都没有发送。我正在尝试找到一种有效的方法来过滤掉这些换行符,我目前的方法是遍历所有电子邮件并检查每封电子邮件中的换行符,如果存在换行符,则将其替换为空字符串。有没有更好的方法来做到这一点,还是我应该坚持下去?我当前的方法是否会在任何其他情况下引起任何问题?
答案 0 :(得分:0)
尝试这样的事情
NSString *fileName = @"\ntest\n";
fileName = [fileName stringByReplacingOccurrencesOfString:@"\n" withString:@""];
例如
NSString * str = @"timcorb\n@gmail.com";
str = [str stringByReplacingOccurrencesOfString:@"\n" withString:@""];
NSLog(@"%@",str);
它将记录2014-01-10 01:01:00.256 demo[26220] timcorb@gmail.com
答案 1 :(得分:0)
您可以使用以下代码替换字符串中的字符。
NSString *email = @"\nakhi\nl@gmail.com";
NSString *actualEmail = [email stringByReplacingOccurrencesOfString:@"\n" withString:@""];
答案 2 :(得分:0)
NSMutableArray* emailArray = [[NSMutableArray alloc] init];
for (int _index = 0; _index < [yourArray count]; _index++) {
[emailArray addobject:[[yourArray objectAtIndex:_index] stringByReplacingOccurrencesOfString:@"\n" withString:@""]];
}
这将为您提供电子邮件阵列
答案 3 :(得分:0)
您可以尝试使用NSRegularExpression
的一种方法,如下所示: -
NSArray *array=@[@"john@gmail.com\n",@"katebell@gmail.com\n",@"\nakhil@gmail.com",@"mary@gmail.com",@"timcorb\n@gmail.com"];
NSString *string =[array componentsJoinedByString: @","];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\n" options:NSRegularExpressionCaseInsensitive error:nil];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];
NSLog(@"%@",modifiedString);
输出: -
john@gmail.com,katebell@gmail.com,akhil@gmail.com,mary@gmail.com,timcorb@gmail.com