改行を含んだ文字列の操作
pythonでは、文字列を記載するときに改行を含めるとエラーになってしまいます。
複数行の文字列を使いたいときには三重クォートに挟んで記載します。
words = """a
b
c"""
print(words)
出力結果
a
b
c
文字の操作
文字列はリストと同じようにイテラブル(繰り返し可能)なので、各文字を取り出すことができます。
ただ、タプルのようにイミュータブル(変更不可能)のため、直接操作はできません。
文字の取り出し
文字列中の文字をインデックスで指定して取り出すことができます。
最初の要素のインデックスは0になります。
マイナスインデックスやスライスも使うことができます。
words = "abcde"
print(words[0])
print(words[-1])
print(words[1:3])
出力結果
a
e
bc
大文字への変換
文字列を大文字に変換するにはupperメソッドを使います。
words = "abcde"
print(words.upper())
出力結果
ABCDE
小文字への変換
文字列を小文字に変換するにはlowerメソッドを使います。
words = "ABCDE"
print(words.lower())
出力結果
abcde
特定文字の除去
stripメソッドを使うことで、文字列の最初と最後についている余分な文字を除去することができます。
文字の間に入っている余分な文字は対象外となります。
words = "---abc-de---"
print(words.strip("-"))
出力結果
abc-de
文字の置換
replaceメソッドを使うことで、文字列の置換を行うことができます。
replaceメソッドの第1引数は置換前の文字で、第2引数は置換後の文字です。
words = "a-b-c-d-e"
print(words.replace("-", "="))
出力結果
a=b=c=d=e
特定の文字を探す
in演算子を使うことで、特定の文字列が含まれているかどうかを返すことができます。
words = "abcde"
print("abc" in words)
出力結果
True
indexメソッドを使うことで、特定の文字が最初に現れる位置を返すことができます。
文字列に含まれていない文字を引数に指定するとエラーになるため、例外処理をあらかじめ書いておくと良いでしょう。
words = "a-b-c-d-e"
try:
print(words.index("-"))
except:
print("Not found")
出力結果
1
文字列の操作
文字列の結合
2つ以上の文字列を足し算の演算子で1つに連結することができます。
words = "abc" + "de"
print(words)
出力結果
abcde
joinメソッドを使うことで全ての文字列の間に特定の文字を追加することができます。
words = "abcde"
print("-".join(words))
出力結果
a-b-c-d-e
joinメソッドの引数にリストを渡すと、リスト内の文字列を全て連結することができます。
words = ["abc", "de", "fg"]
print("-".join(words))
print("".join(words))
出力結果
abc-de-fg
abcdefg
文字列の掛け算
文字列に対して掛け算の演算子を使うことで、繰り返しの文字列を作成できます。
words = "abc" * 3
print(words)
出力結果
abcabcabc
文字列の穴埋め
formatメソッドを使うことで文字列の穴埋めを行うことができます。
後で置き換えたい部分を波かっこで書いておき、formatメソッドに置き換える値を渡します。
words = "abc{}f{}i"
words_1 = "de"
words_2 = "gh"
print(words.format(words_1, words_2))
出力結果
abcdefghi
文字列の分割
splitメソッドを使うことで1つの文字列を複数の文字列に分割することができます。
分割したい部分の文字をsplitメソッドの引数に指定します。
words = "abc-de-fg"
print(words.split("-"))
出力結果
['abc', 'de', 'fg']
参考文献
コメント