In [8]:
# モジュール
import re

# サンプル文字列を用意する
s = '私はピアノが好きです。'

print(s)
私はピアノが好きです。
In [9]:
# ピアノをドラムに置換する  re.sub('')

s = re.sub('ピアノ', 'ドラム', s) # 引数の3つ目に元の文字列を指定する。

print(s)
私はドラムが好きです。
In [18]:
# 複数の文字を置換する  re.sub('[]')
s = '私は金色のトランペットと銀色のトランペットが好きです'
print(s)

s = re.sub('[金銀]', '黒', s) #複数指定はカッコ[ ]を使う
print(s)
私は金色のトランペットと銀色のトランペットが好きです
私は黒色のトランペットと黒色のトランペットが好きです
In [17]:
# 複数の文字を置換する  re.sub('[]')
s = '私は金色のトランペットと銀色のトロンボーンが好きです'
print(s)

s = re.sub('[トランペットトロンボーン]', 'アルトサックス', s)
print(s) # こういうのはできない。
私は金色のトランペットと銀色のトロンボーンが好きです
私は金色のアルトサックスアルトサックスアルトサックスアルトサックスアルトサックスアルトサックスと銀色のアルトサックスアルトサックスアルトサックスアルトサックスアルトサックスアルトサックスが好きです
In [22]:
# 指定した文字以外を置換する :ハット^を使う
s = '私はピアノが好きです。'
print(s)

# ピ と き 以外は X に置換する
s = re.sub('[^ピき]', 'X', s) 
print(s)
私はピアノが好きです。
XXピXXXXきXXX
In [25]:
# 繰り返し +
import re

s= '私はピアアアアアアアノが好きです。'
print(s)

# アの繰り返しを一つのアに置換する。
s = re.sub('ア+', 'ア', s)
print(s)
私はピアアアアアアアノが好きです。
私はピアノが好きです。
In [29]:
# ルビの除去 いままでの応用
import re

s = '私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです'
print(s)

# 【たいしょうごと】【わだいこ】を消す:'【' ではじまって、文字が複数'*' あって '】'で終わる
s = re.sub('【[^】]', '', s)
print(s)

'''考え方
'【' # 文字としての左かっこの部分
'[]'  # 複数文字を指定するためのかっこ
'^】' # その中に、文字としての右かっこ以外を指定するためのハットを使用する

ここまでで
'【[^】]' とかけた
'''
私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです
私は大正琴いしょうごと】と和太鼓だいこ】が好きです
Out[29]:
"考え方\n'【'\u3000# 文字としての左かっこの部分\n'[]'  # 複数文字を指定するためのかっこ\n'^】' # その中に、文字としての右かっこ以外を指定するためのハットを使用する\n\nここまでで\n'【[^】]' とかけた\n\n\n"
In [ ]:
# 【たいしょうごと】【わだいこ】を消す:'【' ではじまって、文字が複数'*' あって '】'で終わる
s = re.sub('【[^】]', '', s)
print(s)

'''考え方
'【' # 文字としての左かっこの部分
'[]'  # 複数文字を指定するためのかっこ
'^】' # その中に、文字としての右かっこ以外を指定するためのハットを使用する

ここまでで
'【[^】]' とかけた
'''
In [33]:
# さらに複数を繰り返すために +を入れると
s = '私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです'
print(s)

s = re.sub('【[^】]+', '', s)
print(s)

"""
文字としての右カッコ '】' が現れるまで文字が消える
"""
私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです
私は大正琴】と和太鼓】が好きです
In [34]:
# さいごに文字としての右カッコ '】'を消す
s = '私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです'
print(s)

s = re.sub('【[^】]+】', '', s)
print(s)
私は大正琴【たいしょうごと】と和太鼓【わだいこ】が好きです
私は大正琴と和太鼓が好きです
In [40]:
# ちょっとなれるために例題をやってみましょう
import re

s = 'ペガサス【ぺがさす】に乗って、空【そら】を飛翔【ひしょう】する英雄【えいゆう】ペルセウス'
print(s)

s = re.sub('【[^】]+】', '', s)
print(s)
ペガサス【ぺがさす】に乗って、空【そら】を飛翔【ひしょう】する英雄【えいゆう】ペルセウス
ペガサスに乗って、空を飛翔する英雄ペルセウス