Skip to content

Python で文字列に含まれている数字の位置を返す関数サンプル

Python で「文字列に含まれる、最初の数字の位置」を返す関数のサンプルをメモしておきます。応用すれば「最初の記号の位置を返す関数」なども作成できると思います。

検証環境

対象 バージョン
macOS 15.0
Python 3.11.10

サンプルスクリプト

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
def has_digit(name: str) -> bool:
    return any(chr.isdigit() for chr in name)


def find_digit(name: str) -> int:
    if name is None:
        return -1
    for _, ch in enumerate(name):
        if ch.isdigit():
            return _
    return -1

実行例 〜数字を含む場合〜

以下のサンプルコードを実行します。

1
2
3
message = "abc123"
print(has_digit(message))
print(find_digit(message))

実行結果は以下です。 対象文字列が数字を含むので has_digitTrue を返し、find_digit3 を返します。

$ python3 sample.py
True
3

実行例 〜数字を含まない場合〜

以下のサンプルコードを実行します。

1
2
3
message = "abcdef"
print(has_digit(message))
print(find_digit(message))

実行結果は以下です。 対象文字列が数字を含まないので has_digitFalse を返し、find_digit-1 を返します。

$ python3 sample.py
False
-1