なんだかGoodVibes

日々の勉強メモです。

【Python】文字列の操作と検索

こんにちは。
本日はPythonメモです。

文字列の長さの取得

文字列の長さを取得するには、lenを使用します。

message = 'HelloWorld'
print(len(message))

実行結果は以下です。

10


開始終了の判定

開始・終了の文字が指定したものかどうかの判定には
startswith,endswithを使用します。

message = 'HelloWorld'
print(message.startswith('He'))
print(message.endswith('!!'))

実行結果は以下です。

True
False


指定した単語が現れるオフセット検索

オフセットの検索には、 find,rfindを使用します。

findは最初に発見されるオフセット、
rfindは最後に発見されるオフセットを取得します。

message = 'HelloWorld'
print(message.find('l'))
print(message.rfind('l'))

実行結果は以下です。

2
8


スライス([start:end:step])

スライスとは、あるシーケンスから一部を抽出します。
[start:end:step]を指定して記載します。

シーケンスのオフセットは、左から右に向かって0,1,...となります。
さらに、マイナスも指定することができ、右から左に向かって-1,-2,...となります。


先頭から末尾までのシーケンスを抽出
message = 'HelloWorld'
print('message[:] = ' + message[:])

実行結果は以下です。

message[:] = HelloWorld


startオフセットから末尾までのシーケンスを抽出
message = 'HelloWorld'
print('message[5:] = ' + message[5:])

実行結果は以下です。

message[5:] = World


先頭からendオフセット(end-1)のシーケンスを抽出

endオフセットを指定した場合、
範囲としてはend-1となることに注意してください。

message = 'HelloWorld'
print('message[:5] = ' + message[:5])

実行結果は以下です。

message[:5] = Hello


startオフセットからend-1オフセットのシーケンスを抽出
message = 'HelloWorld'
print('message[5:8] = ' + message[5:8])

実行結果は以下です。

message[5:8] = Wor


先頭から末尾まででstepごとの要素を抽出
message = 'HelloWorld'
print('message[::3] = ' + message[::3])

実行結果は以下です。

message[::3] = Hlod


マイナスを指定してシーケンスを抽出
message = 'HelloWorld'
print('message[-10:-5] = ' + message[-10:-5])

実行結果は以下です。

message[-10:-5] = Hello


大文字小文字の操作

先頭文字のみ大文字に変更
message = 'Hello world. Bob!'
print(message.capitalize())

実行結果は以下です。

Hello world. bob!


単語の先頭文字を大文字に変更
message = 'Hello world. Bob!'
print(message.title())

実行結果は以下です。

Hello World. Bob!


すべての文字を大文字に変更
message = 'Hello world. Bob!'
print(message.upper())

実行結果は以下です。

HELLO WORLD. BOB!


すべての文字を小文字に変更
message = 'Hello world. Bob!'
print(message.lower())

実行結果は以下です。

hello world. bob!


小文字と大文字を反転
message = 'Hello world. Bob!'
print(message.swapcase())

実行結果は以下です。

hELLO WORLD. bOB!


文字列の置換

置換には、replaceを使用します。

message = 'Hello World! Hello Bob!'
print(message.replace('Hello', 'Good Evening'))

実行結果は以下です。

Good Evening World! Good Evening Bob!

replaceの第三引数に、最大回数を指定することができます。
例えば、上記の例で最大回数を1とすると以下のようになります。

message = 'Hello World! Hello Bob!'
print(message.replace('Hello', 'Good Evening', 1))

実行結果は以下です。

Good Evening World! Hello Bob!



以上です。