今回はPythonの文字列操作について記事を作成します。
業務でも使用頻度の高いものを備忘録として残しておこうと思います。
Contents
文字列に変数複数代入
%s, %dを用いた変数代入方法
1 2 3 4 5 6 |
if __name__ == "__main__": python_world = 'python world' print_int = 100 print_str = 'hello %s %d' % (python_world, print_int) print(print_str) #hello python world 100 |
代入先の文字列に対して文字列と数値を代入しています。
代入の方法は他にもありますので、プロジェクトに合ったコーディングを心がけましょう。
{0}を使用した変数代入方法
1 2 3 4 5 |
python_world = 'python world' print_int = 100 print_str = 'hello {0} {1}'.format(python_world, print_int) print(print_str) #hello python world 100 |
文字列を{0}{1}に対応する変数を.format(python_world, print_int)にて記載します。
文字列でも数値型でもなんでも代入できるので便利ですが、%sを使用したほうかシンプルに記載できそうですね。
文字列を+で連結する形で代入する方法
1 2 3 4 5 |
python_world = 'python world' print_int = 100 print_str = 'hello ' + python_world + ' ' + str(print_int) print(print_str) #hello python world 100 |
出力される結果は同じになりますが、+や”を打ち込む手間と数値型を文字列型にキャストしないといけないので面倒です。
文字列を分割する方法
1 2 3 4 5 6 |
hello_python_word = 'hello_python_world' split_val = hello_python_word.split('_') for val in split_val: print(val) #hello python world |
‘hello_python_world’の文字列に対してsplit(‘_’)を使用して
[‘hello’,’python’,’world’]のリストを作成して、最後はfor分で順番に出力します。
意外とsplit()関数を使用する機会は多いので使い方のバリエーションを覚えておきましょう。
文字列の連結する方法
1 2 3 |
test_str = '121' * 3 print(test_str) #121121121 |
文字列に対して*nを使用することでn個の文字列が連結されることになります。
会社の先輩がいい使い方をしていましたけど忘れてしまったので思い出したら記載しますね。
先頭文字列と末尾文字列を削除
1 2 3 4 5 6 |
python_link = 'https://www.python.jp/' print_str = python_link.lstrip('https://') print_str = print_str.rstrip('.jp/') print_str = print_str.replace('www.', '') print(print_str) #python |
文字列の先頭を文字列削除する場合はlstrip()
文字列の末尾から文字列を削除する場合はrstrip()
もういちいち面倒だなって時にはreplace()を2回使用するという手段もあります