[Python中級講座] 文字列の操作方法

文字列型(str型)とは

文字列とはPythonのデータ型の一種であり、文字を並べたものを指します。

PYthonで文字列を表現するためには「 (任意の文字列)」「 (任意の文字列) 」と、半角のシングルクォーテーション(‘)ダブルクォーテーション(“)で囲いましょう。

クォーテーションとダブルクォーテーションのどちらで囲っても意味は同じです。

文字列の例

#文字列の例
text1 = "あいうえお 123"
text2 = 'あいうえお 123'

print(text1)    #出力例:あいうえお 123
print(text2)    #出力例:あいうえお 123

文字列の操作

以下に代表的な文字列の操作方法をまとめます。

文字列の結合

文字列は「+」結合させることができます。

#文字列の結合例
text1 = 'あいうえお、'
text2 = 'かきくけこ'

print(text1 + text2)    #出力例:あいうえお、かきくけこ

文字列の繰り返し

同じ文字列を複数回繰り返して新しい文字列を生成したい場合は「 文字列 * 繰り返したい回数」と記述しましょう。

#文字列の繰り返し
text = "ばなな"
print(text * 5)    #出力例:ばななばななばななばななばなな

文字列(str)から数値(int,float)への変換

文字列として保存された数を数値型(int,float)に変換するにはint関数float関数を使用します。

以下は文字列“15”を整数型(int)に変換してから10だけ引くプログラムです。

#文字列“15”を整数型(int)に変換してから10だけ引くプログラム
text = "15"
num = 10

print(int(text) - num)     #出力例:5
print(float(text) - num)   #出力例:5.0

ちなみに文字列のまま他の数値型と計算することはできません。

#失敗例
text = "15"
num = 10

print(text - num)     #出力例:TypeError

数値(int)から文字列(str)への変換

数値型(int,float)を文字列(str)に変換するためにはstr関数を使用します。

以下は整数型(int)の100を文字列型に変換し、文字列”円”と結合させるプログラムです。

#整数型(int)の100を文字列型に変換し、文字列"円"と結合させるプログラム
text = "円"
num = 100

print(str(num) + text)    #出力例:100円

文字列から1文字だけ選択する

文字列には左から順に一文字づつインデックスが割り振られています。

インデックスは左から順に0,1,2,3,…と割り振られています。

このインデックスを使用して文字列から1文字列だけ選択することができます。

文字列[インデックス番号]

以下は文字列をインデックス順に取り出すプログラムです。

text = "abcdefg"

for i in range(7):
  print(text[i], " インデックス: ",i)

"""
出力例:
a  インデックス:  0
b  インデックス:  1
c  インデックス:  2
d  インデックス:  3
e  インデックス:  4
f  インデックス:  5
g  インデックス:  6
"""

上記のプログラムではaから順に0,1,2,3,4,5,6とインデックスが割り当てられていることが確認できます。

文字列から部分文字列を取得する

文字列に対してスライスを行うことで部分文字列を取得することができます。

文字列[開始インデックス番号:終了インデックス番号:ステップ]

開始インデックス番号のみ指定

開始インデックス番号を指定するとその文字以降の文字列を取得できます。

text = "0123456789"

print(text[5:])    #出力例:56789

終了インデックス番号のみ指定

開始インデックス番号を指定するとその文字の一つ前までの文字列を取得できます。

text = "0123456789"

print(text[:5])    #出力例:01234

開始インデックス番号と終了インデックス番号を指定

開始インデックス番号と終了インデックス番号を指定すると「開始インデックス番号~終了インデックス番号 – 1」間の文字列を取得できます。

text = "0123456789"

print(text[3:6])    #出力例:345

文字列の検索

find関数は文字列に含まれる部分文字列の開始インデックス番号を返します。

例えば文字列”あいうえお”から”うえ”をfind関数で検索すると”う”のインデックス番号2が返されます。

text = "あいうえお"

print(text.find("うえ"))    #出力例:2

文字の出力回数を調べる

文字の出力回数を調べるにはcount関数を使います。

以下のプログラムは文字列“あいうえおあいうえお”における”あ”の出現回数を調べるプログラムです。

text = "あいうえおあいうえお"

print(text.count("あ"))    #出力例:2

文字列の長さを調べる

文字列の長さを調べるにはlen関数を使います。

以下のプログラムは文字列の長さを調べるプログラムです。

text = "あいうえおあいうえお"

print(len(text))

まとめ

今回は主要な文字列操作の方法を確認しました。

Pythonでは他にもいろいろな操作があります。必要に応じて調べましょう。