1つ、replace()
replace()
このメソッドは、文字列内の古い(古い文字列)を新しい(新しい文字列)に置き換えます.3番目のパラメータmaxが指定されている場合、置き換えは最大回数を超えません
str.replace(old, new[, max])
スタイル:
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
結果:
HeQQo,worQd!
Hello,world! # 很明显,第二个没有执行(或者说没有替换)
Hello,apple!
理由:このreplace()
関数は、文字列内の1つの文字を置き換えることができ、連続する文字を置き換えることもできますが、文字置換マップを生成することはできません。
2、translate()
translate()
この関数にはPythonも付属しています。replace()関数との違いは、ここではstr.maketrans
関数を使用してテーブルを作成することです。さまざまなパラメーターを使用できますが、3つのArgumentsstrが必要です。
maketrans( ''、 ''、del)
最初のパラメーターは置き換えられる文字、2番目のパラメーターは置き換えられる文字、3番目のパラメーターは削除される文字です
使用する:
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
三、re sub()
これはreライブラリの関数であり、そのプロトタイプはre.sub(pattern, repl, string, count)
最初のパラメーターは正規表現に置き換えられるパラメーター、2番目のパラメーターは置き換えられた文字列、3番目のパラメーターは入力文字列、4番目のパラメーターは置き換えの数を示します。デフォルトは0です。これは、すべての一致が置き換えられることを意味します。
例:
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个