python去除空白字符
① python中如何去掉字符串的空格
1.strip():把头和尾的空格去掉
2.lstrip():把左边的空格去掉
3.rstrip():把右边的空格去掉
4.replace('c1','c2'):把字符串里的c1替换成c2。故可以用replace(' ','')来去掉字符串里的所有空格
5.split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
② python剔除字符串开头空白
删除左边的空白可以用lstrip()函数,删除右边的可以用rstrip()函数,删除左右两边的可以用strip()函数。
下面是一个例子:
s=" string "
print("原串:==="+s+"===")
l=s.lstrip()
print("删除左边空白后:==="+l+"===")
r=s.rstrip()
print("删除右边空白后:==="+r+"===")
lr=s.strip()
print("删除左右两边空白后:==="+lr+"===")
运行结果截图:
③ python 去除字符串中的空格
将字符串中的空格去除,字符串的长度就减少了,开始计算出的len(str)长度是原始字符串的长度,下标当然会越界
print'pleaseinputastring:'
string=raw_input('>')
string=string.replace('','')
printstring
④ 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))
⑤ python 去除空白字符
Python去除空白字符可以考虑用ASII码,因为每个字母和空格有不同的值,如果循环中有这个值那就直接删除,没有不删除即可。
⑥ python去掉字符串所有空格
字符串,rm为要删除的字符序列
str.strip(rm) : 删除s字符串中开头、结尾处,位于 rm删除序列的字符
str.lstrip(rm) : 删除s字符串中开头(左边)处,位于 rm删除序列的字符
str.rstrip(rm) : 删除s字符串中结尾(右边)处,位于 rm删除序列的字符
str.replace(‘s1’,’s2’) : 把字符串里的s1替换成s2。故可以用replace(’ ‘,”)来去掉字符串里的所有空格
str.split() : 通过指定分隔符对字符串进行切分,切分为列表的形式。
去除两边空格:
>>> str = ' hello world '
>>> str.strip()
'hello world'
1
2
3
1
2
3
去除开头空格:
>>> str.lstrip()
'hello world '
1
2
1
2
去除结尾空格:
>>> str.rstrip()
' hello world'
1
2
1
2
去除全部空格:
>>> str.replace(' ','')
'helloworld'
1
2
1
2
将字符串以空格分开:
>>> str.split()
['hello', 'world']
>>>
⑦ python中一个字符串怎么去除空格
s = 'a b c '
s.replace(' ','') #利用'',替换掉空格' '。
⑧ python字符串结果如何消除空格
print('Index='+str(s.rfind(c)))
⑨ python怎么除去列表中的空字符
>>> a1=[10,2,'','']
>>> a1.remove('')
>>> a1
[10, 2, '']
>>> a1.remove('')
>>> a1
[10, 2]