sploiber:
私は始まる、番号を含む文字列を有するX例えば、"x270"
若しくは"x9"
。それは、常にで始まり、X。私は番号を取得する必要があります。
私はこれをやっています:
blatz = "x22"
a1 = int(re.search("x(\d+)", blatz).group(1))
これは非常にPython的思えません。私は、よりエレガントな解決策を歓迎します。
colidyre:
使用するre
ライブラリはやり過ぎのようです。あなたは各文字列で始まることを言っているので、あなたは、パターンを検索する必要はありませんx
。
あなたは、単純に行うことができるようにスライスを:
blatz = "x22"
a1 = int(blatz[1:])
あなたは、さらにチェックが必要な場合は、あなたが見ることができstr.startswith() 、str.endswithおよび/またはstr.isdigit() 。
スライスは非常にpythonistic見えますが、使用する可能性もあり、他の文字列のメソッドリードが同じ目標には:
blatz = "x22"
a2 = int(blatz.lstrip("x")) # strip "x" from the left
a3 = int(blatz.partition("x")[-1]) # get everything after "x"
a4 = int(blatz.replace("x", "")) # replace every "x" with empty string
...
しかし、スライスは、より速く、Pythonプログラマのための珍しい何もないです。