文字列の置換


文字列の置換も簡単に行えます。文字列の置き換えはre.subまたはre.subnメソッドを使います。re.subはつぎのようなプロトタイプを持ち、結果として置換された文字列を返します。

sub(pattern, repl, string[, count = 0])

count=0はpatternに一致したすべての部分文字列を置き換えることを示します。

re.subnはsubと同じに文字列を置換しますが、結果として次のような組(tuple)を返します。

(置換後の文字列、置換された部分文字列の数)

リスト1にsubとsubnの使用例を示します。

リスト1

#
#  文字列の置換
#
import re

s = "password = 01234"
y = re.sub("[0-9]", "*", s)
print y

s = "his name is paul."
y = re.sub("is", "IS", s)
print y
y = re.sub("is", "IS", s, 1)
print y
t = re.subn("is", "IS", s)
print t

リスト1の実行結果は次のようになります。

password = *****
hIS name IS paul.
hIS name is paul.
('hIS name IS paul.', 2)