python中删除指定字符函数_去掉字符串中不需要的字符
(Python)
在编写程序的时候我们经常遇到字符,
但是这些字符串有事并不全是我们需要的,
这是我们就需要对字符串进⾏处理,
去掉字符串中我们不需要的字符。
python正则表达式不包含常⽤的⽅法有如下五种:
⼀、字符串 strip(),lstrip(),rstrip() ⽅法去掉字符串字符
使⽤ python ⾃带的函数进⾏处理;
strip() ⽅法⽤于移除字符串头尾指定的字符(默认为空格)。
lstrip() ⽅法⽤于截掉字符串左边的空格或指定字符。
rstrip() 删除 string 字符串末尾的指定字符(默认为空格)。
语法:
str.strip([chars]);
chars -- 指定的字符内容。
print(str.strip()) # 去掉两端字符 'fengkui'
print(str.lstrip()) # 去掉左侧字符 'fengkui '
⼆、删除单个固定位置的字符串,可以使⽤切⽚ + 拼接的⽅式
str = 'fe$ngkui' # 去掉$
str = str[:10] + str[11:] # 先切⽚ 再 + 拼接的⽅式
print(str) # 'fengkui'
三、删除多个固定的字符串,可以先去掉指定字符串转成列表,然后再拼接成字符串
str = 'htt$ps://fe$ngkui.n$et' # 去掉$
str_list = str.split('$') # 先去掉指定字符串转列表
str = ''.join(str_list) # 然后再拼接 列表
print(str) # 'fengkui'
四、字符串的 replace() ⽅法或正则表达式 re.sub() 替换的⽅法删除任意⼦串
replace() ⽅法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法:
old -- 将被替换的⼦字符串。
new -- 新字符串,⽤于替换old⼦字符串。
max -- 可选字符串, 替换不超过 max 次
str = 'htt$ps://fe$ngkui.n$et' # 去掉$
str = place('$','') # ⽤空的内容替换掉$
print(str) # 'fengkui'
Python 的re模块提供了 re.sub ⽤于替换字符串中的匹配项。
import re
str = 'htt$ps://fe$ngkui.n$et' # 去掉$
str = re.sub(r'[\$]', '', str) # ⽤空的内容替换掉$
print(str) # 'fengkui'
五、字符串的 translate() ⽅法,可以同时删除多种不同字符
import unicodedata
s = 'abc1234xyz'
t1 = s.translate({ord('a'): 'X'}) # 'Xbc1234xyz'
print(t1)
t2 = s.translate({ord('a'): 'X', ord('b'): 'Y'}) # 'XYc1234xyz'
print(t2)
mk = s.maketrans('abcxyz', 'XYZABC') # '{97: 88, 98: 89, 99: 90, 120: 65, 121: 66, 122: 67}' t3 = s.translate(mk) # 'XYZ1234ABC'
print(t3)
t4 = s.translate({ord('a'): None}) # 'bc1234xyz'
print(t4)
# 将'ní hǎo,zhōng guō'转成'ni hao,zhong guo'
str = alize('NFD','ní hǎo,zhōng guō')
c = alize('NFD','ǎ')
# print(len(c), c[0], c[1]) # 2 a
str1 = dict.fromkeys([ord(s) for s in str if unicodedatabining(s)], None)
str2 = anslate(str1)
print(str2) # 'ni hao,zhong guo'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。