假设我有这个:
NSString *temp=@"its me";
现在假设我想要' " '在每个单词的开头和结尾,我如何实现它以获得这样的结果:
"its" "me"
我必须使用正则表达式吗?
答案 0 :(得分:2)
如果字符串中有标点符号,则用空格分割可能是不够的。
使用word boundary \b
:它匹配前导和尾随字边界(也就是说,它将匹配单词和非单词字符之间的空白空间,如果遵循,则匹配字符串的开头/结尾/前面有一个单词字符。
NSError *error = nil;
NSString *myText = @"its me";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\b" options:NSRegularExpressionCaseInsensitive|NSRegularExpressionAnchorsMatchLines error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:myText options:0 range:NSMakeRange(0, [myText length]) withTemplate:@"\""];
NSLog(@"%@", modifiedString); // => "its" "me"
请参阅IDEONE demo
答案 1 :(得分:1)
你可以做点什么,
NSString *str = @"its me";
NSMutableString *resultStr = [[NSMutableString alloc]init];
NSArray *arr = [str componentsSeparatedByString:@" "];
for (int i = 0; i < arr.count; i++) {
NSString *tempStr = [NSString stringWithFormat:@"\"%@\"",arr[i]];
resultStr = [resultStr stringByAppendingString:[NSString stringWithFormat:@"%@ ",tempStr]];
}
NSLog(@"result string is : %@",resultStr);
希望这会有所帮助:)