碰到一个问题,要将一个字符串中的空格替换成“-”,一个以上的“-”要减少到一个,比如:
替换前:
你 好 - 吗?
替换后
你-好-吗?
这里需要两步,先将空格替换成“-”,再将多个“-”合并为一个。
第一步很好解决:
NSString *str = @“你 好 - 吗?”; str = [str stringByReplacingOccurrencesOfString:@" " withString:@"-"];
替换后str=@“你-好---吗?”。
然后就是合并多个“-”,这里有个简单的方法:
在iOS中是支持正则表达式的,利用正则表达式能够方便快速的达到目的;
NSRegularExpression *regular; regular = [[NSRegularExpression alloc] initWithPattern:@"-{1,}" options:NSRegularExpressionCaseInsensitive error:nil]; str = [regular stringByReplacingMatchesInString:str options:NSRegularExpressionCaseInsensitive range:NSMakeRange(0,[str length]) withTemplate:@"-"];
去除字符串中所有得空格及控制字符:
str = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];