Dieser Artikel stellt hauptsächlich detailliert vor, wie Python unerwünschte Zeichen aus Zeichenfolgen entfernt. Er hat einen bestimmten Referenzwert.
Frage:
Filter die zusätzlichen Leerzeichen vor und nach der Benutzereingabe
; Wie lassen sich die oben genannten Probleme lösen?
Entfernen Sie beide Enden der Zeichenfolge: strip(), rstrip(),lstrip()#!/usr/bin/python3 s = ' -----abc123++++ ' # 删除两边空字符 print(s.strip()) # 删除左边空字符 print(s.rstrip()) # 删除右边空字符 print(s.lstrip()) # 删除两边 - + 和空字符 print(s.strip().strip('-+'))
#!/usr/bin/python3 s = 'abc:123' # 字符串拼接方式去除冒号 new_s = s[:3] + s[4:] print(new_s)
#!/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))
#!/usr/bin/python3 s = 'abc123xyz' # a _> x, b_> y, c_> z,字符映射加密 print(str.maketrans('abcxyz', 'xyzabc')) # translate把其转换成字符串 print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
#!/usr/bin/python3 import sys import unicodedata s = "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, \r a = 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-Methode zum Aufteilen von Zeichenfolgen nach fester Länge
Das obige ist der detaillierte Inhalt vonSo entfernen Sie unerwünschte Zeichen aus einer Zeichenfolge in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!