Python | レベル別練習問題:文字列メソッド

Python
スポンサーリンク

Python文字列メソッド 特訓セット(初心者向け)

では以下のように、文字列メソッド別の「特訓10問セット」を用意。
どれも「初心者でも手を動かしながら理解できる」構成で、各問題には簡単なヒント・解答・解説
もつけます。


【1】replace() 特訓10問

文字列の一部を別の文字に置き換えるメソッド。

text = "I like apple."
print(text.replace("apple", "banana"))
# => I like banana.
Python

問題セット

No問題ヒント
Q1"dog cat dog".replace("dog", "cat") の結果は?dog→cat
Q2"aaaa".replace("a", "b", 2) の出力を確認第3引数で回数制限
Q3"Python".replace("Py", "")部分削除もOK
Q4"Hello World".replace("l", "L")全部置換
Q5"2025-11-06".replace("-", "/")日付形式変更
Q6"banana".replace("na", "NA")繰り返し部分注意
Q7"abcabc".replace("ab", "X", 1)最初の1回だけ
Q8"Hello".replace("h", "H")大文字・小文字は別物
Q9"data,data,data".replace(",", " / ")区切り変換
Q10"aaa".replace("aa", "b")重なり注意!結果を確認

【2】split() 特訓10問

文字列を区切り文字で分割してリストにする。

"apple,banana,cherry".split(",")
# => ['apple', 'banana', 'cherry']
Python
No問題ヒント
Q1"a b c".split()デフォルトは空白区切り
Q2"apple,banana".split(",")カンマで区切る
Q3"a-b-c".split("-", 1)回数指定あり
Q4"apple,,banana".split(",")空要素も出る
Q5"Python".split("t")“t”が消える
Q6"one two three".split(maxsplit=1)最初の1回だけ
Q7"a:b:c:d".split(":")[-1]最後の要素取得
Q8"abc".split(",")区切りなしなら全体1つ
Q9"A,B,C,".split(",")最後に空文字あり
Q10"line1\nline2\n".splitlines()改行対応の特別版

【3】join() 特訓10問

リストを文字列として結合する。

",".join(["apple", "banana", "cherry"])
# => "apple,banana,cherry"
Python
No問題ヒント
Q1" ".join(["I", "love", "Python"])スペースで結合
Q2"-".join("ABC")1文字ずつ結合
Q3"".join(["1", "2", "3"])連結のみ
Q4`”“.join([“a”, “b”, “c”])`
Q5"abc".join([])空リストなら?
Q6"--".join(["A", "B"])両端に区切りは入らない
Q7"".join(str(i) for i in range(3))数値は文字に変換して
Q8",".join(["", "x", "y"])空文字も反映される
Q9" and ".join(["apple", "banana"])会話風に結合
Q10"".join(reversed("abc"))join × reversed

【4】strip() / lstrip() / rstrip() 特訓10問

前後の空白や特定文字を削除する。

"  hello  ".strip()
# => 'hello'
Python
No問題ヒント
Q1" abc ".strip()両端の空白削除
Q2"\nabc\t".strip()改行・タブも対象
Q3"***abc***".strip("*")特定文字削除
Q4"***abc***".lstrip("*")左側のみ
Q5"***abc***".rstrip("*")右側のみ
Q6" a b ".strip()中の空白は消えない
Q7"hello world".strip("hd")文字集合として扱う
Q8"abc123".lstrip("a")部分一致ではない
Q9"!!ok!!".strip("!")同種記号を削除
Q10"python".strip("pn")両端のp/nが削除される

【5】find() / rfind() / index() 特訓10問

部分文字列の位置を検索する。

"text".find("x")
# => 2
Python
No問題ヒント
Q1"apple".find("p")最初のpの位置
Q2"apple".rfind("p")右側から探す
Q3"banana".find("na")最初の”na”
Q4"banana".rfind("na")最後の”na”
Q5"apple".find("z")見つからなければ -1
Q6"apple".index("p")findと同じだがエラー出す
Q7"apple".find("p", 2)位置2以降で検索
Q8"apple".find("p", 1, 3)範囲指定あり
Q9"a,b,c".find(",")区切り探し
Q10"Hello".find("hello")大文字小文字区別あり

【6】upper() / lower() / title() / capitalize() 特訓10問

大文字・小文字変換。

"hello world".title()
# => 'Hello World'
Python
No問題ヒント
Q1"abc".upper()全大文字
Q2"ABC".lower()全小文字
Q3"python".capitalize()先頭だけ大文字
Q4"hello world".title()各単語の先頭を大文字
Q5"HeLLo".lower()混在文字も変換
Q6"HELLO".capitalize()H→H、残り→小文字
Q7"123abc".upper()数字は変わらない
Q8"HELLO world".title()区切りで判定される
Q9"日本語".upper()英字のみ変化
Q10"hello world".capitalize().upper()メソッドの組み合わせ

【7】startswith() / endswith() 特訓10問

特定の文字で始まる・終わるかを判定。

"python.txt".endswith(".txt")
# => True
Python
No問題ヒント
Q1"hello".startswith("h")True
Q2"hello".endswith("o")True
Q3"python.txt".endswith(".txt")ファイル拡張子
Q4"hello".startswith("H")大文字注意
Q5"2025-11-06".startswith("2025")日付の始まり
Q6"test.py".endswith(".py")Pythonファイルか確認
Q7"note.md".endswith((".md", ".txt"))複数指定OK
Q8"applepie".startswith("apple")部分一致
Q9"readme.txt".startswith("r") and endswith(".txt")複合条件
Q10"hello world".startswith("he", 0, 2)範囲指定も可能

これらを順に練習すると、

🔹文字列操作の実務パターンを「メソッド名で想起」できる
🔹処理を組み合わせる応用力がつく
🔹正規表現に進む前の“安全で強力な基礎”が完成

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました