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]