Heim > Backend-Entwicklung > Python-Tutorial > So löschen Sie Zeichen in Python

So löschen Sie Zeichen in Python

藏色散人
Freigeben: 2019-10-17 14:09:14
Original
5112 Leute haben es durchsucht

So löschen Sie Zeichen in Python

Wie lösche ich Zeichen in Python?

Python entfernt unerwünschte Zeichen aus Zeichenfolgen:

Problem:

Überflüssige Leerzeichen vor und nach Benutzereingaben filtern

      ‘    ++++abc123---    ‘
Nach dem Login kopieren

Filtern Sie das „r“ im bearbeiteten Text unter einem bestimmten Fenster:

     ‘hello world \r\n'
Nach dem Login kopieren

Entfernen Sie die Unicode-Kombinationszeichen im Text, den Ton

     "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"
Nach dem Login kopieren

Empfohlen: „Python-Tutorial

Wie können die oben genannten Probleme gelöst werden?

Strings an beiden Enden entfernen: strip(), rstrip(),lstrip()

#!/usr/bin/python3
  
s = ' -----abc123++++  '
  
# 删除两边空字符
print(s.strip())
  
# 删除左边空字符
print(s.rstrip())
  
# 删除右边空字符
print(s.lstrip())
  
# 删除两边 - + 和空字符
print(s.strip().strip('-+'))
Nach dem Login kopieren

Einzelnes Zeichen mit fester Position löschen: Slice + Splice

#!/usr/bin/python3
  
s = 'abc:123'
# 字符串拼接方式去除冒号
new_s = s[:3] + s[4:]
print(new_s)
Nach dem Login kopieren

Zeichen löschen an jeder Position Mehrere verschiedene Zeichen gleichzeitig löschen: replace(), re.sub()

#!/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))
Nach dem Login kopieren

Mehrere verschiedene Zeichen gleichzeitig löschen: Translate()

Map str.maketrans () in py3

#!/usr/bin/python3
  
s = 'abc123xyz'
# a _> x, b_> y, c_> z,字符映射加密
print(str.maketrans('abcxyz', 'xyzabc'))
# translate把其转换成字符串
print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
Nach dem Login kopieren

Töne in Unicode-Zeichen entfernen

#!/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))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo löschen Sie Zeichen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage