1、删除字符串中的指定符号
对字符串中间的特殊符号或制定字符串的删除,常用replace函数。(注:replace方法不能改变原始字符串,替换出来的字符串为内存新建字符串,并未改变原始变量指针。)
replace函数格式:str.replace(old, new, count)
str
:已知原始给定字符串old
: 将被替换的制定字符(串)new
:新字符串,用于替换old字符串。count
:最大替换次数
注:需要删除而非替换的作用时仅需将new设为''即可
举例:
#删除顿号
str1 = "212、Python用replace()函数删除制定 符号"
str2 = str1.replace('、', '')
print(str2) # "212Python用replace()函数删除制定 符号"
#删除字符串"函数"
str1 = "212、Python用replace()函数删除制定 符号"
str2 = str1.replace('函数', '')
print(str2) # "212、Python用replace()删除制定 符号"
2、删除字符串中的空格
在Python中删除字符串中的空格的常用函数及作用如下str.strip()
: 删除开头和结尾的空格str.lstrip()
: 删除开头(左侧)的空格str.rstrip()
: 删除结尾(右侧)的空格str.replace('', '')
:删除字符串中的所有空格
举例:
str1 = " 212、Python用replace()函数删除制定 符号 "
print(str1.strip()) # "212、Python用replace()函数删除制定 符号"
print(str1.lstrip()) # "212、Python用replace()函数删除制定 符号 "
print(str1.rstrip()) # " 212、Python用replace()函数删除制定 符号"
print(str1.replace(' ', '')) # "212、Python用replace()函数删除制定符号"
3、删除字符串中的所有符号,只保留汉字
常用字符unicode的编码范围:
数字:\u0030-\u0039
汉字:\u4e00-\u9fa5
大写字母:\u0041-\u005a
小写字母:\u0061-\u007a
英文字母:\u0041-\u007a
注:更多的编码范围可参考:
https://diyibailingyici.chuangdangjianghudewumingyouxia.cn/archives/367.html
说明:只保留汉字 等价于 将所有非汉字的字符全部删除,因此对非汉字(^\u4e00-\u9fa5
)全部用replace函数替换即可
举例:
import re
str1 = " 212、Python用replace()函数删除制定 符号 "
str2 = re.sub('([^\u4e00-\u9fa5])', '', str1)
print(str2) # "用函数删除制定符号"
4、删除字符串中的所有符号,只保留字符串中的汉字和数字
说明:逻辑同3,只保留汉字和数字 等价于 将所有非汉字的字符全部删除。
因此对非汉字(^\u4e00-\u9fa5
)和非数字(^\u0030-\u0039
)全部用replace函数替换即可,重点在于如何将unicode编码范围进行拼接。
举例:
import re
str1 = " 212、Python用replace()函数删除制定 符号 "
str2 = re.sub('([^\u4e00-\u9fa5\u0030-\u0039])', '', str1)
print(str2) # "212用函数删除制定符号"