str.find() 部分文字列の位置を検索

最終更新:2026-09-22

str.find() 部分文字列の位置を検索

str.find(sub[, start[, end]]) は sub が最初に出現するインデックスを返す。見つからない場合は -1 を返す(例外は発生しない)。

カテゴリ文字列メソッド
種類組み込み型メソッド
Python バージョンall

📝 構文

str.find(sub[, start[, end]])

⚙️ 引数

sub 必須The substring to search for.
start 任意Start index of the range (inclusive); None means the beginning.(デフォルト値:None)
end 任意End index of the range (exclusive); None means the end.(デフォルト値:None)

戻り値:int. The lowest index where sub is found, or -1 if not found.

元のオブジェクトを変更するか:いいえ(新しいオブジェクトを返す)

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

2
-1
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qfind() は部分文字列が見つからないとき例外を投げますか?
Aいいえ。これが index() との最大の違いです。find() は見つからないとき -1 を返します。部分文字列が存在するか確信がない場合は find() を優先しましょう。
Qfind() と index() はどう使い分けますか?
A「存在するかとその位置」だけを知りたいときは find()(エラーなしで -1 を返す)、必ず存在すべきで見つからないのがバグであるときは index()(ValueError を投げる)を使います。
Q2 回目の出現位置を探すには?
Astart パラメータで最初のものをスキップします:'banana'.find('a', 2) はインデックス 2 から検索し 3 を返します。最後の出現を探すには rfind() を使います。
Q空の部分文字列で find('') を呼ぶと何を返しますか?
A0(または start パラメータの値)を返します。空部分文字列はどの位置にもマッチするためです。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%