Swift

发布于:2021-10-16 19:19:18

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





一、字符串替换
1,简单的替换

下面将字符串中所有的?
com?替换成?
COM










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)下面代码我们将字符串中所有的英文字母替换成下划线。








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?过滤掉。









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)下面代码将字符串中所有的表情符号给过滤掉。









1


2


3


4


5


6


7


8


9



//原始字符串


let?
str1 =?
"欢迎??访问

相关推荐

最新更新

猜你喜欢