Python删除字符串中的符号

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://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用函数删除制定符号"
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐