私は次のPythonコードを使用して、整数のパーツIDをフォーマットされたパーツ番号文字列としてフォーマットしています。
pn = 'PN-{:0>9}'.format(id)
'PN-{:0>9}'
同じフォーマット文字列( )を逆に使用して、フォーマットされた部品番号から整数IDを抽出する方法があるかどうかを知りたいです。それができない場合は、単一のフォーマット文字列(または正規表現?)を使用して作成および解析する方法はありますか?
私は次のPythonコードを使用して、整数のパーツIDをフォーマットされたパーツ番号文字列としてフォーマットしています。
pn = 'PN-{:0>9}'.format(id)
'PN-{:0>9}'
同じフォーマット文字列( )を逆に使用して、フォーマットされた部品番号から整数IDを抽出する方法があるかどうかを知りたいです。それができない場合は、単一のフォーマット文字列(または正規表現?)を使用して作成および解析する方法はありますか?
parseモジュールは「format() の反対です」。
使用例:
>>> import parse
>>> format_string = 'PN-{:0>9}'
>>> id = 123
>>> pn = format_string.format(id)
>>> pn
'PN-000000123'
>>> parsed = parse.parse(format_string, pn)
>>> parsed
<Result ('123',) {}>
>>> parsed[0]
'123'
scanf のシミュレーションが面白いと思うかもしれません。
どうですか:
id = int(pn.split('-')[1])
これは部品番号をダッシュで分割し、2 番目のコンポーネントを取得して整数に変換します。
PS私はid
あなたの質問への接続が明確になるように変数名として残しました。組み込み関数の影にならないように変数の名前を変更することをお勧めします。