Ⅰ python如何去除字符串中不想要的字符
问题:
过滤用户输入中前后多余的空白字符
‘ ++++abc123--- ‘
过滤某windows下编辑文本中的’\r’:
‘hello world \r\n’
去掉文本中unicode组合字符,音调
"Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"
如何解决以上问题?
去掉两端字符串: strip(), rstrip(),lstrip()
123456789101112131415
#!/usr/bin/python3 s = ' -----abc123++++ ' # 删除两边空字符print(s.strip()) # 删除左边空字符print(s.rstrip()) # 删除右边空字符print(s.lstrip()) # 删除两边 - + 和空字符print(s.strip().strip('-+'))
删除单个固定位置字符: 切片 + 拼接
123456
#!/usr/bin/python3 s = 'abc:123'# 字符串拼接方式去除冒号new_s = s[:3] + s[4:]print(new_s)
删除任意位置字符同时删除多种不同字符:replace(), re.sub()
1234567891011
#!/usr/bin/python3 # 去除字符串中相同的字符s = '\tabc\t123\tisk'print(s.replace('\t', '')) import re# 去除\r\n\t字符s = '\r\nabc\t123\nxyz'print(re.sub('[\r\n\t]', '', s))
同时删除多种不同字符:translate() py3中为str.maketrans()做映射
1234567
#!/usr/bin/python3 s = 'abc123xyz'# a _> x, b_> y, c_> z,字符映射加密print(str.maketrans('abcxyz', 'xyzabc'))# translate把其转换成字符串print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
去掉unicode字符中音调
#!/usr/bin/python3 import sysimport unicodedatas = "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"remap = { # ord返回ascii值 ord('\t'): '', ord('\f'): '', ord('\r'): None }# 去除\t, \f, \ra = s.translate(remap)'''通过使用dict.fromkeys() 方法构造一个字典,每个Unicode 和音符作为键,对于的值全部为None然后使用unicodedata.normalize() 将原始输入标准化为分解形式字符sys.maxunicode : 给出最大Unicode代码点的值的整数,即1114111(十六进制的0x10FFFF)。unicodedata.combining:将分配给字符chr的规范组合类作为整数返回。 如果未定义组合类,则返回0。'''cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建议拆分开来理解b = unicodedata.normalize('NFD', a)'''调用translate 函数删除所有重音符'''print(b.translate(cmb_chrs))
Ⅱ python3 如何去除字符串中不想要的字符
去除不想要的字符有很多种方法:
1、利用python中的replace()方法,把不想要的字符替换成空;
2、利用python的rstrip()方法,lstrip()方法,strip()方法去除收尾不想要的字符。
用法如下:
Python3 replace()方法
Python3 rstrip()方法
Python3 lstrip()方法
Ⅲ python的字符串如何按自己指定的格式进行筛选
按照你的要求编写的Python程序如下
import re
str = "娜娜_二零零-酷我(ERFD)dgfdg国米_山地车-乘除法(ICEX)ifex愤愤然_概念人-维权(LUVD)cisnq框架内_聚合-阿文看(OMNS)cdwcgr"
regex=r'([u4e00-u9fa5]+_)'
a=re.sub(regex,r' 1',str)
print(a)
Ⅳ 如何使用python去掉指定的字符串
如果字符串是固定为{string}这种格式的可以:
s = '{}'
print(s[1:-2])
如果不是固定的格式:
s = '{}'
print(s.split('{')[1].split('}')[0])
Ⅳ python程序:输入一个字符串,将其中字母'a'滤掉,生成另一个字符串.怎么写
>>> str1 = "abcddcba"
>>> str2 = str1.replace("a","")
>>> str2
'bcddcb'
>>>
Ⅵ python3怎样过滤字符串中的表情
importre
emoji_pattern=re.compile(
u"(ud83d[ude00-ude4f])|"#emoticons
u"(ud83c[udf00-uffff])|"#symbols&pictographs(1of2)
u"(ud83d[u0000-uddff])|"#symbols&pictographs(2of2)
u"(ud83d[ude80-udeff])|"#transport&mapsymbols
u"(ud83c[udde0-uddff])"#flags(iOS)
"+",flags=re.UNICODE)defremove_emoji(text):
returnemoji_pattern.sub(r'',text)
来自:http://blog.csdn.net/orangleliu/article/details/67632628?utm_source=gold_browser_extension
上面那个有时不好用,
try:
#pythonUCS-4build的处理方式
highpoints=re.compile(u'[U00010000-U0010ffff]')
exceptre.error:
#pythonUCS-2build的处理方式
highpoints=re.compile(u'[uD800-uDBFF][uDC00-uDFFF]')
resovle_value=highpoints.sub(u'??',src_string)
尝试一下这个。
Ⅶ python中如何使将字符串模式去掉
去掉两端字符串: strip(), rstrip(),lstrip()
123456789101112131415
#!/usr/bin/python3 s = ' -----abc123++++ ' # 删除两边空字符print(s.strip()) # 删除左边空字符print(s.rstrip()) # 删除右边空字符print(s.lstrip()) # 删除两边 - + 和空字符print(s.strip().strip('-+'))
删除单个固定位置字符: 切片 + 拼接
123456
#!/usr/bin/python3 s = 'abc:123'# 字符串拼接方式去除冒号new_s = s[:3] + s[4:]print(new_s)
删除任意位置字符同时删除多种不同字符:replace(), re.sub()
1234567891011
#!/usr/bin/python3 # 去除字符串中相同的字符s = '\tabc\t123\tisk'print(s.replace('\t', '')) import re# 去除\r\n\t字符s = '\r\nabc\t123\nxyz'print(re.sub('[\r\n\t]', '', s))
同时删除多种不同字符:translate() py3中为str.maketrans()做映射
1234567
Ⅷ Python怎么判断过滤特殊字符
如果是从Html文本弄来的,那直接download Html的源代码,然后直接替换其中的<div class="">这里是随机字符串</div> Python里面使用xml.minidom就OK!
Ⅸ Python:如何过滤特殊字符和乱码的字符
如果是从Html文本弄来的,那直接download Html的源代码,然后直接替换其中的<div class="">这里是随机字符串</div>
Python里面使用xml.minidom就OK
Ⅹ python怎么过滤字符串长度小于4的
len(s) < 4
len函数用于获取字符串长度,因此上述表达式用于判断字符串s的长度是否小于4