Python:删除字符串中的字符
⼀、删除字符串两端的⼀种或多种字符
#strip()、lstrip()、rstrip()⽅法;(默认删除空格符)
A、list.strip(字符):删除字符串两端的⼀种或多种字符;
#例:删除字符串s两端 a 或 b 或 c 字符;
s = 'abbmmmcccbbb'
s1 = s.strip('abc')
print(s1)
#输出:mmm
B、list.lstrip(字符):删除字符串左端的⼀种或多种字符;
C、list.rstrip(字符):删除字符串右端的⼀种或多种字符;
⼆、删除字符串中单个固定位置的字符
思路:使⽤切⽚ + 拼接的⽅式;
#例:删除字符串s中的冒号
s = 'abc:cba'
s1 = s[:3] + s[-3:]
print(s1)
#输出:abccba
三、删除字符串中任意位置的⼀种或多种字符
A、plxce(被替换的字符, '');
#将需要被删除的字符替换为控制符;
#⼀次只能替换⼀种;
s = 'abc:cba'
s1 = s.replace(':', '')
print(s1)
#输出:abccba
B、re.sub('[多种需要被替换的字符]', '' ,字符串对象, count, Flags)
#count = 0时,替换全部;count = n,替换前n个;count默认为0‘
#flags = 1时:从字符串左端开始;flags = 0时,从右端开始;默认为1;
import re
s = 'a\tb\tc\rd\re'
s1 = re.sub('[\t\r]', '', s)
print(s1)
#输出:abcde
同时删除字符串内的多种不同字符
四、
四、同时删除字符串内的多种不同字符
#anslate()⽅法;(不是anslate()⽅法)
#anslate()⽅法的应⽤,参见:
功能:把⼀个字符映射到另⼀个字符上
例⼀:
print(b'ww/w.csdn/wirelessqa'.translate(None, b'ts'))
#输出:b'hp:///wireleqa'
例⼆:
print(b'ww/w.csdn/wirelessqa'.translate(None, b'ts'))
#输出:b'hp:///wireleqa'
#使⽤bytes.maketrans()函数,得到映射表;字符串函数strip作用
#字符串前必须加:b,不然报错:translate() takes exactly one argument (2 given),即translate只能接受⼀个参数
bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
print(bytes_tabtrans)
#输出:b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOP
#bytes_tabtrans为⼀个bytes类型的映射表
print(type(bytes_tabtrans))
#输出:<class 'bytes'>
print(b'www.csdn/wirelessqa'.translate(bytes_tabtrans, b'ts'))
#输出:b'HP://WWW.CDN.NE/WIRELEQA'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论