Pythonで文字列を操作する方法(replace、re.sub、split)

  • URLをコピーしました!

今回はPythonで文字列を操作するときに知っていると便利なメソッドをまとめてみたいと思います。

目次

環境

OS:Windows 10
Anaconda:4.10.3

正規表現

reモジュールで使用する正規表現については、以下のサイトにわかりやすい解説があります。

文字列を扱うメソッド

replace

replaceメソッドは引数て指定した文字列を置き換えます。

第1引数は置き換え対象(置き換え前)となる文字列、第2引数は置き換えたい文字列、第3引数には置き換える回数を指定します。第3引数は省略可能です。

以下のような文字列のゲームタイトル部分を置き換えるサンプルをPythonで作成しました。

str = "好きなゲームはPUBGです"
str2 = str.replace("PUBG", "FF14") 
print("str = ", str)
print("str2 = ", str2)

実行結果は以下の通りです。
第1引数の文字列が第2引数の文字列に置き換わりました。

str =  好きなゲームはPUBGです
str2 =  好きなゲームはFF14です

re.sub

re.subメソッドは正規表現のパターンに一致した文字列を置き換えます。

第1引数に置き換え対象(置き換え前)を表す正規表現、第2引数に置き換える文字列、第3引数に対象となる文字列のデータ、第4引数に置き換える回数を指定します。

サンプルとして以下のような小説のタイトルの《》で囲われた部分の文字列を置き換える(今回のサンプルでは削除する)プログラムをPythonで作成してみました。

str3 = "最強職《竜騎士》から初級職《運び屋》になったのに、なぜか勇者達から頼られてます"
str4 = re.sub(r'《.+?》', '', str3)
print("str3 = ", str3)
print("str4 = ", str4)

実行結果は以下の通りです。
正規表現で指定した通り《》で囲われた部分の文字列が削除されていることが確認できました。

str3 =  最強職《竜騎士》から初級職《運び屋》になったのに、なぜか勇者達から頼られてます
str4 =  最強職から初級職になったのに、なぜか勇者達から頼られてます

split

splitメソッドは引数で指定した文字列を区切りとして分割します。

第1引数には区切りとする文字列、第2引数には分割回数を指定します。
サンプルとして文章に行ごとに分割するプログラムをPythonで作成しました。

str5 = "私が先生と\n知り合いに\nなったのは\n鎌倉かまくら\nである。"
str6 = str5.split("\n")
print("str5 = ", str5)
print("str6 = ", str6)

実行した結果は以下の通りです。
引数で指定した通り、改行コード部分で文字列を分割してリストに格納されていることが確認できました。

str5 =  私が先生と
知り合いに
なったのは
鎌倉かまくら
である。
str6 =  ['私が先生と', '知り合いに', 'なったのは', '鎌倉かまくら', 'である。']

まとめ

今回は文字列を処理するためのPythonのメソッドを紹介しました。スクレイピングでWeb上の文字列情報を取得した後の解析などで役に立つかと思います。

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次