1

文字列がある場合:

string = 'this-is-a-string-125'

ダッシュの後の最後の文字セットを取得して、それらが数字かどうかを確認するにはどうすればよいですか?

4

5 に答える 5

9

それらが実際に数字であることを確認したい場合は、次のことができます

x.rsplit('-', 1)[1].isdigit()

「数値」は、さまざまな方法で解釈できる、より一般的な基準です。たとえば、「12.87」はある意味で数値ですが、すべての文字が数字であるとは限りません。

int(x.rsplit('-', 1)[1])文字列を整数として解釈できるかどうか、または浮動float(x.rsplit('-', 1)[1])小数点数として解釈できるかどうかを確認できます。(文字列が適切な意味で数値でない場合、これらは ValueError を発生させるため、その例外をキャッチして、数値でない場合は必要なことを何でも行うことができます。)

于 2012-09-05T21:00:47.533 に答える
5
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
于 2012-09-05T21:01:15.137 に答える
2

誰もパーティションまたはrpartitionについて知りません:

text.rpartition("-")[-1].isdigit()
于 2012-09-05T21:27:47.910 に答える
1

どうですか:

str.split('-')[-1].isdigit()
于 2012-09-05T21:03:17.910 に答える