文字列がある場合:
string = 'this-is-a-string-125'
ダッシュの後の最後の文字セットを取得して、それらが数字かどうかを確認するにはどうすればよいですか?
それらが実際に数字であることを確認したい場合は、次のことができます
x.rsplit('-', 1)[1].isdigit()
「数値」は、さまざまな方法で解釈できる、より一般的な基準です。たとえば、「12.87」はある意味で数値ですが、すべての文字が数字であるとは限りません。
int(x.rsplit('-', 1)[1])
文字列を整数として解釈できるかどうか、または浮動float(x.rsplit('-', 1)[1])
小数点数として解釈できるかどうかを確認できます。(文字列が適切な意味で数値でない場合、これらは ValueError を発生させるため、その例外をキャッチして、数値でない場合は必要なことを何でも行うことができます。)
s = 'this-is-a-string-125'.split('-')[-1].isdigit()
文字列をダッシュ ( ) で分割する'-'
と、部分文字列のリストが得られます ( を参照split()
)。次に、最後の文字列 ( [-1]
) を取得し、その文字列に数字のみが含まれていることを確認します ( isdigit()
)。
>>> 'this-is-a-string-125'.split('-')
['this', 'is', 'a', 'string', '125']
>>> 'this-is-a-string-125'.split('-')[-1]
'125'
>>> 'this-is-a-string-125'.split('-')[-1].isdigit()
True
誰もパーティションまたはrpartitionについて知りません:
text.rpartition("-")[-1].isdigit()
どうですか:
str.split('-')[-1].isdigit()