【Python初学者】文字列操作の基本をわかりやすく解説!

Python初学者向け文字列操作の方法

この記事は、プログラミング初学者が学びのアウトプットを兼ねてまとめた内容です。

どうも、わだです

この記事では、「基本的な文字列操作の方法」について、
初学者目線で解説します。

目次

文字列の結合、文字の抽出、大文字・小文字の変換といった作業の総称です。

文字列はイミュータブル(変更できない型)です。そのため文字列の一部を変更・変換・削除等するということは、新しい文字列オブジェクトを作るということになります。

a = "Hello"
b = "World"
c = "Wada"

print(a + " " + b + " " + c)
☝️「 " " 」は文字列と文字列の間に空白を入れるという意味です。

# Hello World Wada

文字列を繰り返す| *

a = "Hello"
print(a * 3)

# HelloHelloHello

◼︎文字列から文字の抽出(インデックス/ スライス)

インデックスで1文字を取り出す| [n]

s = "Hello"

print(s[0])
print(s[4])
print(s[-1])
☝️最初の文字("H")はインデックス「0」、2番目の文字("e")はインデックス「1」と数えます。後ろから数えるときは([-1])のように「 - 」を使います。
# H
# o
# o

指定した範囲の文字列を取り出す(スライス)| [n: m]

s = "Hello"

print(s[0: 4])
print(s[:4])
print(s[3:])

# Hell
# Hell
# lo

[n: m]n番目から(m-1)番目を取り出すことを意味します。
[ :m ]0番目から(m-1)番目まで、[ n: ]n番目から最後までという意味です。

◼︎文字列でよく使うメソッド

文字列を大文字・小文字にする|.upper/ .lower

str.upper() # 大文字に
str.lower()  # 小文字に

s = "Hello"

print(s.upper())  
print(s.lower()) 

# HELLO
# hello

空白や改行の削除|.strip/.rstrip/.lstrip

str.strip() # 文字列の両端の空白や改行を削除
str.rstrip() # 文字列の右側だけを削除
str.lstrip() # 文字列の左側だけを削除

s = "△△△Hello△△△\\n"   ☝️ \\nは改行するという意味
                 ここでは△は空白を意味します。
print(s)  
print(s.strip())  
print(s.rstrip())  
print(s.lstrip()) 

# △△△Hello△△△↩︎
  △△△△△△△△△△… ☝️文字列の左側に空白、右側は改行

# Hello☝️s.strip()の結果: 文字列左右の空白、改行を削除

# △△△Hello☝️文字列右側の改行を削除、左側の空白は残る

# Hello△△△↩︎
  △△△△△△△△△△… ☝️文字列左側の空白を削除、右側の改行は残る

文字列を探す|.find

str.find(“探したい文字列”)

.find()位置を返します(見つからないときは「 -1 」を返します)。
1文字目を0、2文字目を1…と数えて、空白も含めて数えます。

s = "My name is wada"
print(s.find("wada"))

# 11

文字の出現回数を調べる|.count

str.count(“調べたい文字”)

s = "My name is wada"
print(s.count("a"))

# 3

文字列を置き換える|.replace

str.replace(“この文字列を”, “この文字列に”)

s = "My name is wada"
print(s.replace("wada", "yamada"))

# My name is yamada

文字列を分割する|.split

str.split(“どこで区切るかを指定”)

.split()は必ずリストで返します。
どこで区切るかを指定する部分は「 “,” 」「 “|” 」のように書きます。

s = "apple, banana, cherry"
print(s.split(","))

s = "apple|banana|cherry"
print(s.split("|"))

# ['apple', ' banana', ' cherry']
# ['apple', ' banana', ' cherry']

文字列を結合する|.join

“区切り文字を指定”.join(リストやタブル)

区切り文字を指定する部分は「 “,” 」「 “:” 」「 “-” 」のように書きます。

fruits = ["apple", "banana", "cherry"]

print(", ".join(fruits))
print(":".join(fruits))
print("-".join(fruits))

# apple, banana, cherry
# apple:banana:cherry
# apple-banana-cherry

文字列の構成要素について判定する|.isalpha/.isdigit/.isalnum/.islower/.isupper

str.isalpha()

print("wada".isalpha()) # 文字だけ?
print("2025".isdigit()) # 数字だけ?
print("wada2025".isalnum()) # 英数字だけ?
print("hello".islower()) # 小文字だけ?
print("HELLO".isupper()) # 大文字だけ?

# True
# True
# True
# True
# True

結果は「 True/False 」で返します。

◼︎f文字列(フォーマット済み文字列)

print(f”こんなふうに{変数}はカッコに入れて書きます”)

文字列と変数を1つの文章にして出力する際に使う便利な書き方です。
変数計算式{ }に入れて書きます。
数値は自動で文字列型にしてくれるのでstr()は不要です。

# f文字列を使わない場合
name = "わだ"
age = 27

print("私の名前は" + name + "です。" + str(age) + "歳です。")
# 私の名前はわだです。27歳です。

「 + 」で連結して、str()で文字列型に変換して…って
書くのが大変だし読んだときにわかりにくいかも。。

# f文字列を使用する場合
name = "わだ"
age = 27

print(f"私の名前は{name}です。{age}歳です。")
# 私の名前はわだです。27歳です。

 どうも、プログラミング初学者のわだです。最後までお読みいただきありがとうございました。この記事は、学びを整理しながら理解を深めるために書いています。まだ駆け出しではありますが、同じように勉強している方の参考になれば嬉しいです。もし誤りや補足があれば、教えていただけると幸いです。

参考:
Python公式ドキュメント(日本語版)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

どうもこんにちは、わだです。プログラミングなんて未知の世界。そんなわだがエンジニアになるまでを綴っていきます。

コメント

コメントする

目次