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

本文介绍如何在Swift中实现字符串的替换与过滤操作,包括基本的字符串替换、使用正则表达式进行替换以及过滤特定字符等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、字符串替换

1,简单的替换

下面将字符串中所有的  com 替换成  COM
原文:Swift - 字符串的替换与过滤(附:过滤emoji表情符号)
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表情符号)
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表情符号)
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表情符号)
1
2
3
4
5
6
7
8
9
//原始字符串
let  str1 =  "欢迎��访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值