Swift - 字符串的替换与过滤(附:过滤emoji表情符号)

开发中常常会遇到需要将  String 字符串中的特殊符号给过滤掉,或者将某些子字符串替换成其他的内容,下面通过样例进行演示。

一、字符串替换

1,简单的替换

下面将字符串中所有的  com 替换成  COM
Swift - 字符串的替换与过滤(附:过滤emoji表情符号)_第1张图片
1
2
3
4
5
6
7
//原始字符串
let  str1 =  "欢迎访问hangge.com.com.com"
//替换后的字符串
let  str2 = str1.replacingOccurrences(of:  "com" , with:  "COM" )
//打印结果
print ( "原字符串:\(str1)" )
print ( "新字符串:\(str2)" )

2,使用正则表达式替换

(1)为方便使用,我们这里对  String  做个扩展,增加正则替换相关方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import  Foundation
 
extension  String  {
     //返回字数
     var  count:  Int  {
         let  string_NS =  self  as  NSString
         return  string_NS.length
     }
     
     //使用正则表达式替换
     func  pregReplace(pattern:  String , with:  String ,
                      options:  NSRegularExpression . Options  = []) ->  String  {
         let  regex = try!  NSRegularExpression (pattern: pattern, options: options)
         return  regex.stringByReplacingMatches( in self , options: [],
                                               range:  NSMakeRange (0,  self .count),
                                               withTemplate: with)
     }
}

(2)下面代码我们将字符串中所有的英文字母替换成下划线。
Swift - 字符串的替换与过滤(附:过滤emoji表情符号)_第2张图片
1
2
3
4
5
6
7
//原始字符串
let  str1 =  "欢迎访问hangge.com"
//替换后的字符串
let  str2 = str1.pregReplace(pattern:  "[a-zA-Z]" , with:  "_" )
//打印结果
print ( "原字符串:\(str1)" )
print ( "新字符串:\(str2)" )

二、字符串过滤

这个同样可以通过字符串替换的方法实现,即将需要过滤掉的字符串替换成空字符串。

1,简单的过滤

下面将字符串中所有的  com 过滤掉。
Swift - 字符串的替换与过滤(附:过滤emoji表情符号)_第3张图片
1
2
3
4
5
6
7
//原始字符串
let  str1 =  "欢迎访问hangge.com.com.com"
//替换后的字符串
let  str2 = str1.replacingOccurrences(of:  "com" , with:  "" )
//打印结果
print ( "原字符串:\(str1)" )
print ( "新字符串:\(str2)" )

2,使用正则表达式过滤 

(1)为方便使用,我们这里对  String 做个扩展,增加正则替换相关方法。
1
//具体方法见上方“正则表达式替换”部分

(2)下面代码将字符串中所有的表情符号给过滤掉。
Swift - 字符串的替换与过滤(附:过滤emoji表情符号)_第4张图片
1
2
3
4
5
6
7
8
9
//原始字符串
let  str1 =  "欢迎��访问
  • 点赞 1
  • 评论
  • 分享
    x

    海报分享

    扫一扫,分享海报

  • 收藏
  • 手机看

    分享到微信朋友圈

    x

    扫一扫,手机阅读

    • 文章举报
  • 关注

weixin_34097242的博客

01-23 216

字符串替换emoji表情

// ⚠️用 字符串[ emoji] 替换 emoji表情

C

04-26 1万+

swift - 字符串操作(替换过滤、去掉空格、分割、拼接、字符串截取)

lets="/234?/"// 替换print("空格 替换-:",s.replacingOccurrences(of:"",with:" -"))// 过滤print("空格 过滤掉:",s.replacingOccurrences(of:"",with:""))//去首尾
还能输入1000个字符

hsf_study的博客

02-13 4111

在iOS中emoji表情的判断、过滤和禁用

emoji就是 表情符号,来自日语词汇“絵文字”(假名为“えもじ”,读音即 emoji)    emoji的创造者是栗田穣崇(Shigetaka Kurita),他将目光投向儿时的各种元素以获取灵感,如日本漫画和日本汉字等。“日本漫画中有许多不同的符号。漫画家会画出一些表情,表现一个人满头大汗或是迸发出一个想法时头上出现一个灯泡。在很多情况下,我借用了这种表达方式,然后进行了重新安排。”同时,...

dlo8147的博客

08-31 30

swift 3.0 正则表达式查找/替换字符

1.什么是正则表达式正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个 字符串来描述、匹配一系列符合某个句法规则的 字符串。在很多文本编辑器里,正则表达式通常被用来检索、 替换那些符合某个模式的文本。2.正则表达式的字符组成普通字符【a~z】、特殊字符(称......

Leo的专栏

05-22 1万+

Swift 字符串替换/过滤/切割/拼接

原创blog,转载请注明出处 blog.csdn.net/hello_hwc之前写过一篇 Swift String的基础,想了解的同学可以看下。 http://blog.csdn.net/hello_hwc/article/details/39853023 替换把? 替换为/var url = "http://blog.csdn.net/hello_hwc?viewmode=list"var filt

梦想海贼王

09-22 5003

Swift trim space/new line(字符串过滤空格和换行符)

Swift 字符串 过滤空格和换行符,写法与原来的objective -c有点不同,因为 Swift中的 字符串的索引不是int类型,而是Index类型。/// UIView's useful extensions.////// Author: huangyibiao/// Github: http://github.com/CoderJackyHuang//// Blog: http://www

weixin_34097242的博客

05-23 38

Swift iOS : 字体图标

厌倦了使用位图在xcode的Assets.xcassets内,因为麻烦,包括如下的麻烦:找图图需要分尺寸需要操作员类似工作去管理然后,现在有了字体图标,就方便多了:比较成熟的几套库,用名字就可以查矢量图,尺寸无极缩放,想要多大都行都在代码和字体文件内,不需要在工程IDE内管理一套 SwiftIcons:https://github.com/ranesr/ SwiftIcons......

SSY_1992的博客

01-18 4851

Swift-字符串截取、替换、插入

Swift中关于 字符串的截取与OC还是有很大的区别的,要说 字符串的截取,就要先说下“范围”,OC中使用的是NSRange函数来指示一个起始位置和长度,而 Swift中的范围使用起来就方便得多,有两种形式:1...5表示闭区间[1,5],也就是从1到5的范围。1..<5表示闭区间[1,5),也就是从1到4的范围。例如:forindexin1...5{......

u010944926的专栏

05-28 1590

iOS如何过滤掉文本中特殊字符

An NSString object represents a string of ordered characters (text). An NSCharacterSet object represents a set of characters in no particular order. It is often much quicker to determine whether a cha

ren_shi_qian的专栏

08-29 907

iOS过滤emoji (处理文本输入框的系统表情)

服务器对 emoji表情直接保存不兼容, 如果客户端直接把 表情符号传给服务端保存的话, 会得到一个保存失败的错误        swift 过滤 字符串        pragma mark - - (void)textViewDidChange:(UITextView *)textView{ NSLog(@"没有 过滤前输入的 字符串===%@...
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付 0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值

你可能感兴趣的:(swift)