【iOS开发】---- 正则表达式替换一个或一个以上空格

前端之家收集整理的这篇文章主要介绍了【iOS开发】---- 正则表达式替换一个或一个以上空格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

替换前:

你 好 - 吗?

替换后

你-好-吗?

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


第一步很好解决

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 ]];

猜你在找的正则表达式相关文章