kakts-log

programming について調べたことを整理していきます

python 文字列操作

pythonにおける文字列操作について

あるテキストファイルがあるとして、
text = """
hello
world
desu
"""

という文字列があるとする
この文字列を操作することを考える。

↑の文字列は、 hello world desu という文字列になるが実際には、改行文字の \nも文字として認識されていて

””” \nhello\nworld\ndesu\n""""

として変数textに格納されている

pythonでの文字列は、1文字ずつのキャラクタのシーケンスである。つまり
\n
h
e
l
...
といった文字が連続しているものとみなされる

キャラクタのシーケンスであるということは、この変数textの各文字に対して、インデクシングでアクセス出来ます。


print text[0]    ### '\n' が表示される
print text[1]    ### 'h'   が表示される

print text[1:5]  ### ''hell''が表示される

という感じでキャラクタの配列として文字列を操作できます

そして先ほどの変数textの内容は改行が含まれているのですが、このtextから各行の値を
取得してリストにしたい時。splitlines()を使えば一発です




listOfText = text.splitlines()   ### textの各行の値をリストに格納

print listOfText   ### ['hello' , ''world'' , ''desu''] という内容でリストになる


という感じで、めっちゃ簡単で便利です


そして変数textの中から、特定の文字列が出てくる回数を取得したい時、
例えば 'orl' という文字列を探したいとしましょう
そんなときには

print text.count('orl'')   ### 1と表示される

という文字列オブジェクトがもつcountメソッドに値を渡してあげると探したい文字列が登場する回数を取得できます