見出し画像

Pythonの基礎#23「文字列操作2」

文字列はインデックスやスライスで扱うことができます。
文字列の場合、インデックスは次のようになります。

’こんにちは’という文字列の場合のインデックス(整数値)は
0:「こ」
1:「ん」
2:「に」
3:「ち」
4:「は」
となります。

このように0から始まる整数値インデックスです。そして各要素(文字)をインデックスに対応してリストのように扱うことができます。
スライスを使った場合、開始位置のインデックスは含まれますが、終了位置のインデックスは含まれません。

msg = 'こんにちは'
print(msg[0])
print(msg[3:])
print(msg[2:4]) # 終了位置に適用している文字は含まれない(「は」)
print(msg[:4]) # 終了位置に適用している文字は含まれない(「は」)

文字列にinnot in演算子を使うこともできます。大文字小文字も区別しますよ。
・文字列1 in 文字列2:文字列2に文字列1が含まれていたらTrueを返す。それ以外はFalseを返す。
・文字列1 not in 文字列2:文字列2に文字列1が含まれていなければTrueを返す。それ以外はFalseを返す。

文字列には便利なメソッドがいくつかあります。ちょっと紹介しますね。

・upper():元の文字列を全て大文字に変換した文字列を返す。
・lower():元の文字列を全て小文字に変換した文字列を返す。

msg = 'message'
print(msg.upper())
msg = 'MessaGe'
print(msg.lower())

文字列を大文字小文字区別せず扱いたいときは、どちらかに変換しておくと便利ですね。

英文字がある文字列で全ての英文字が大文字か小文字を判断するメソッドもあります。

・isupper() : 1文字以上の全ての英文字が大文字の時Trueを返す。それ以外はFalseを返す。
・islower():1文字以上の全ての英文字が小文字の時Trueを返す。それ以外はFalseを返す。

文字列を識別する場合、ほかにも以下のようなものを使うと便利ですよ。
・isalpha():1文字以上の英文字だけの文字列の場合Trueを返す。それ以外はFalseを返す。
・isalnum():1文字以上の英文字か数字の文字列の場合Trueを返す。それ以外はFalseを返す。
・isdecimal():1文字以上の数字だけの文字列の場合Trueを返す。それ以外はFalseを返す。
・isspace():文字列がスペースかタブカ改行だけの場合Trueを返す。それ以外はFalseを返す。








この記事が気に入ったらサポートをしてみませんか?