`
dcj3sjt126com
  • 浏览: 1899630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 

分享到:
评论

相关推荐

    iOS正则表达式类库

    总之,iOS正则表达式类库如RegexKitLite为开发者提供了便利的接口,帮助他们高效地处理字符串。正确理解和使用这类库,能够提升iOS应用的数据处理能力和用户体验。无论是在验证用户输入、数据清洗还是文本分析等方面...

    正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较

    例如,你可以使用`NSRegularExpression`的`predicateWithPattern:`方法创建一个谓词,然后使用`evaluateWithObject:`方法来判断字符串是否符合该正则表达式。 ```swift let regex = try! NSRegularExpression...

    正则表达式30分钟入门教程和测试工具.

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。本30分钟入门教程旨在帮助初学者快速掌握正则表达式的基本概念和常用语法,搭配测试工具...

    ios 用lua 正则

    例如,`%s+`匹配一个或多个连续的空格。 5. **分组与反向引用**: 使用`()`可以创建分组,分组内的表达式会被作为一个整体来匹配。反向引用如`\1`、`\2`等代表前面分组匹配的内容。 6. **正向前瞻与后向前瞻**: ...

    iOS验证手机号的正则表达式

    在给定的代码中,验证手机号码的函数`+ (BOOL)valiMobile:(NSString *)mobile`被定义,它接受一个`NSString`类型的手机号码作为参数,并返回一个布尔值表示该号码是否有效。首先,通过`...

    将HTML标签外的空格替换为 

    这种空格在不破坏单词或数字连续性的前提下,可以用来在网页内容中强制插入一个固定宽度的空格。 替换的过程通常涉及文本处理,可能使用编程语言如JavaScript、Python或正则表达式来实现。例如,使用JavaScript,你...

    Java中正则表达式使用方法详解

    Java中的正则表达式是一种强大的文本处理工具,用于查找、替换和解析字符串。它们通过一套预定义的规则来描述要匹配的模式,这些规则由特殊字符和普通字符组成。正则表达式在Java中主要通过java.util.regex包提供的...

    iOS开发 正则运算详细介绍

    在iOS开发中,正则表达式被广泛用于文本处理,例如验证用户输入的数据格式是否正确、对特定文本进行搜索和替换等。正则表达式的强大之处在于它能够利用简短的字符串描述复杂的文本匹配规则,并且被几乎所有高级编程...

    格式化中英文之间的空格(OC).zip

    可以编写特定的正则表达式来查找并替换中文和英文之间的多余空格。 3. **Unicode字符判断**:在处理多语言字符时,需要对Unicode有深入理解。Objective-C的`unichar`类型可以用来表示单个Unicode字符,通过比较其...

    iOS手机银行卡号输入格式化

    例如,大多数银行卡号都是16到19位数字,可以编写一个匹配这个规则的正则表达式,并在用户输入时实时检查。 3. **块(Block)和闭包(Closure)**:在Swift中,可以使用闭包来处理用户每次输入后的格式化操作。每当...

    iOS9之全面禁止emoji输入

    创建一个匹配emoji的正则表达式,然后在输入事件中使用它来检测和处理emoji。 总的来说,禁用emoji输入是一个涉及字符编码分析、字符串处理和用户交互反馈的过程。通过自定义的工具类,开发者可以有效地控制应用中...

    过滤特殊字符及表情符

    - **正则表达式**:使用正则表达式可以高效地匹配并移除或替换特殊字符和表情符号。例如,`[^\w\s]` 可以匹配非字母数字和空格的字符。 - **字符串函数**:Java中的`String.replaceAll()`方法,可以结合正则表达式...

    OC实现的电话号码格式化

    接下来,我们使用`NSRegularExpression`类来创建一个正则表达式,匹配并替换非数字字符。例如,我们可以创建一个模式来匹配破折号和空格: ```objc NSRegularExpression *regex = [NSRegularExpression ...

    IOS高访新浪微博界面(处理@#链接 特殊字符 )

    在iOS开发中,实现一个高度仿真的新浪微博界面并正确处理@#链接以及特殊字符是一项具有挑战性的任务。这里我们将深入探讨如何实现这一功能,并确保界面的整洁与用户体验的优化。 首先,我们需要理解微博中的@#链接...

    NSString+Extended

    在iOS开发中,NSString是Objective-C中的一个基础类,用于处理和操作文本字符串。`NSString+Extended`通常指的是开发者为了增加NSString的功能而创建的一个类别(Category),它扩展了NSString的原有功能,提供了更...

    swift-在iOS日常开发中可能用到的简单工具.提示框以及对字符串处理

    此外,Swift还提供了正则表达式支持,通过`NSRegularExpression`类可以进行高级的字符串匹配和替换。例如,找出字符串中的所有邮箱地址: ```swift let emailRegex = try! NSRegularExpression(pattern: "[A-Z0-9a-...

    判断字符串是否是空

    正则表达式`"^\\s*$"`匹配零个或多个空白字符,包括空格、制表符等。 ### 5. 自定义扩展 为了方便使用,可以创建一个分类来扩展`NSString`,添加一个便捷的方法来判断字符串是否为空: ```objc @interface ...

    iOS 汉字的拼音

    最后,我们用正则表达式替换空格,以便处理连续的空格。 除了上述方法,文中还提供了一个静态辅助方法`+ (NSString *)transform:(NSString *)chinese;`,它也使用`CFStringTransform`进行转换,但返回的是大写的...

Global site tag (gtag.js) - Google Analytics