删除字符串中的单词之间的空格,但只删除一个

时间:2015-02-15 15:38:05

标签: ios

以下是解释它的片段。基本上,我想删除除一个之外的两个单词之间的所有空格。有没有更简单的股票方法呢?

NSString *originalString = @"one two  three    four        five";
NSArray *stringArray = [originalString componentsSeparatedByString:@" "];
NSPredicate *whiteSpacePredicate = [NSPredicate predicateWithFormat:@"SELF != ''"];
NSArray *stringArray2 = [stringArray filteredArrayUsingPredicate:whiteSpacePredicate];
NSString *newString = @"";
for (NSString *string in stringArray2)
{
    newString = [[newString stringByAppendingString:string] stringByAppendingString:@" "];
}
NSLog(@"originalString: %@", originalString);
NSLog(@"newString: %@", newString);

1 个答案:

答案 0 :(得分:6)

你可以做这样的事情

NSString *newString= [originalString stringByReplacingOccurrencesOfString: @"[ \t]+"
                                                             withString: @" "
                                                                options: NSRegularExpressionSearch
                                                                  range: NSMakeRange(0, originalString.length)];

将删除原始字符串中的所有额外空格和制表符。