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.maketrans
funçã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个