今回は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上の文字列情報を取得した後の解析などで役に立つかと思います。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント