今日はPythonでの文字列操作をまとめていきます。
文字列操作
それでは、文字列操作の記述を確認していきましょう。
文字列を連結する
文字列の連結は + で行うことができます。
a = 'aaa'
b = 'bbb'
a + b # => 'aaabbb'文字列をフォーマットする
文字列のフォーマットはいくつかの書き方が存在します。
単純に + でつなげる
name = 'leopanda'
python = 'Python 3.8.3'
'こんにちは' + name + 'さん、わたしは' + python + 'です'
# => 'こんにちはleopandaさん、わたしはPython 3.8.3です'%形式 を利用する
'こんにちは%sさん、わたしは%sです' % (name, python)
# => 'こんにちはleopandaさん、わたしはPython 3.8.3です'.format() を利用する
'こんにちは{0}さん、わたしは{1}です'.format(name, python)
# => 'こんにちはleopandaさん、わたしはPython 3.8.3です'f 文字列 を利用する
私はこの方法が一番すっきりとしていると思うのでお勧めです。
f'こんにちは{name}さん、わたしは{python}です'
# => 'こんにちはleopandaさん、わたしはPython 3.8.3です'文字列を分割する
文字列の分割は .split() で行うことができます。
空白文字で分割
value = 'aaa bbb ccc ddd eee'
value.split() # => ['aaa', 'bbb', 'ccc', 'ddd', 'eee']指定文字で分割
value = 'aaa,bbb,ccc,ddd,eee'
value.split(',') # => ['aaa', 'bbb', 'ccc', 'ddd', 'eee']文字列を接続する
文字列の接続は .join() で行うことができます。
カンマでつなげる
values = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
','.join(values) # => 'aaa,bbb,ccc,ddd,eee'ハイフン2つでつなげる
values = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
'--'.join(values) # => 'aaa--bbb--ccc--ddd--eee'前後の文字を除去する
前後の文字列の除去は .strip() で行うことができます。
前方の空白文字を除去
value = ' aaa '
value.lstrip() # => 'aaa '後方の空白文字を除去
value = ' aaa '
value.rstrip() # => ' aaa'前後の空白文字を除去
value = ' aaa '
value.strip() # => 'aaa'除去する文字を指定することもできます。
value = '.....aaa.....'
value.strip('.') # => 'aaa'複数の文字を指定することができます。
value = '.,...aaa..,..'
value.strip('.,') # => 'aaa'文字列を置換する
文字列の置換は .replace() で行うことができます。
value = 'aaabbbccc'
value.replace('bbb', 'ddd') # => 'aaadddccc'文字列比較
次に文字列比較の記述を確認していきましょう。
完全一致
完全一致は == で判断することができます。
value = 'aaabbbccc'
value == 'aaabbbccc' # => True
value == 'Aaabbbccc' # => False
value == 'aaa' # => False
value == 'bbb' # => False
value == 'ccc' # => False前方一致
前方一致は .startswith() で判断することができます。
value = 'aaabbbccc'
value.startswith('aaa') # => True
value.startswith('bbb') # => False
value.startswith('ccc') # => False後方一致
後方一致は .endswith() で判断することができます。
value = 'aaabbbccc'
value.endswith('aaa') # => Flase
value.endswith('bbb') # => False
value.endswith('ccc') # => True部分一致
部分一致(文字列を含むかどうか)は in で判断することができます。
value = 'aaabbbccc'
'aaa' in value # => True
'bbb' in value # => True
'ccc' in value # => True
'ddd' in value # => False大文字小文字を区別せずに比較
大文字小文字を区別せずに比較するには .upper() もしくは .lower() を行った後に判断するようにします。
value = "AAABBBCCC"
value.lower() == "aaabbbccc" # => Truevalue = "aaabbbccc"
value.upper() == "AAABBBCCC" # => Truevalue = "AAAbbbCcc"
value.lower() == "aaaBBBcCC".lower() # => True今日のまとめ
今日は Python で文字列操作をやってみました。
普段使い慣れた言語ではないので初歩的なところでつまづくことも多いですが、しっかり基本か少しずつ学んでいこうと思います。




コメント