对字符串中间的特殊符号或制定字符串的删除,常用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://blog.csdn.net/weixin_34206263/article/details/112031865
说明:只保留汉字 等价于 将所有非汉字的字符全部删除,因此对非汉字(^\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用函数删除制定符号"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)