iOS正则表达式替换一个或一个以上空格

碰到一个问题,要将一个字符串中的空格替换成“-”,一个以上的“-”要减少到一个,比如:

替换前:

你 好 - 吗?

替换后

你-好-吗?

这里需要两步,先将空格替换成“-”,再将多个“-”合并为一个。

 

第一步很好解决:

NSString *str = @“你 好 - 吗?”;  
str = [str stringByReplacingOccurrencesOfString:@" " withString:@"-"];  

 替换后str=@“你-好---吗?”。

然后就是合并多个“-”,这里有个简单的方法:

在iOS中是支持正则表达式的,利用正则表达式能够方便快速的达到目的;

扫描二维码关注公众号,回复: 617584 查看本文章
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 ]];

 

猜你喜欢

转载自duchengjiu.iteye.com/blog/1992333
今日推荐