Python: substituição de string - replace (), teaslate (), re.sub

Um, substitua ()

replace() O método substitui old (string antiga) por new (nova string) na string. Se o terceiro parâmetro max for especificado, a substituição não excederá o tempo máximo

str.replace(old, new[, max])

estilo: 

a = 'Hello,world!'
print(a.replace('l','Q'))  # 把l换成Q 
print(a.replace('abcdefghi','0123456789'))  # 想把字符串中的a到i替换成0-9
print(a.replace('world','apple'))  # 把word替换为apple

 resultado:

HeQQo,worQd!
Hello,world!  # 很明显,第二个没有执行(或者说没有替换)
Hello,apple!

Motivo: a replace()função pode substituir um único caractere na string e também pode substituir caracteres consecutivos, mas não pode gerar um mapa de substituição de caracteres

 

Dois, traduza ()

translate()A função também vem com python. A diferença com a função replace () é que uma str.maketransfunção é usada aqui para criar uma tabela. Ela pode usar vários parâmetros, mas requer três Argumentsstr.

maketrans ('', '', del)  

O primeiro parâmetro é o caractere a ser substituído, o segundo parâmetro é o caractere a ser substituído e o terceiro parâmetro é o caractere a ser excluído

usar:

stu_name = "学生1"
stu_name.translate(str.maketrans('', '', digits)) 
print(stu_name)  # 输出: 学生
import string
a = 'Hello,world!'
remove = string.punctuation  # 返回所有标点符号
table = str.maketrans('abcdefgh','01234567',remove)
print(a.translate(table))  # 输出:H4lloworl3

 

Três, re.sub ()

Esta é uma função na nova biblioteca, e seu protótipo ére.sub(pattern, repl, string, count)

O primeiro parâmetro é o parâmetro a ser substituído pela expressão regular, o segundo parâmetro é a string substituída, o terceiro parâmetro é a string de entrada e o quarto parâmetro se refere ao número de substituições. O padrão é 0, o que significa que todas as correspondências são substituídas.

exemplo: 

import re
a = 'Hello,world! HaHa'
print(re.sub(r'[A-Z]', '8', a))  # 8ello,world! 8a8a
print(re.sub(r'[A-Z]', '8', a, 2)) # 8ello,world! 8aHa 替换前2个

 

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/weixin_38676276/article/details/107515545
Recomendado
Clasificación