Python にいくつかの文字列のリストがあり、これらの文字列のそれぞれに値が含まれているとします。これらの値を取得してリストに出力するにはどうすればよいですか? 例: 文字列は「abc def g T = 5 hij」のようになります。数字以外の文字列はすべて同じです。
質問する
189 次
2 に答える
2
正規表現を使用できます。文字列のリストが呼び出されると仮定しますitems
:
result = [int(re.search(r'\d+', x).group(0)) for x in items]
値が文字列内の唯一の数値であることが保証されていない場合は、正規表現をより具体的にしてください。いう、
re.search(r'T = (\d+)', x).group(1)
于 2012-07-27T23:20:37.513 に答える
0
一つのアプローチ
文字列に対してメソッドを使用しsplit()
て、リストに分割します。
newList = "abc def g T = 5 hij".split()
スペース以外で分割する必要がある場合は、 に引数を追加しますsplit()
。例えば、
"abc def g T = 5 hij".split("=")[1]
文字列を等号で分割します。
したがって、私があなたの状況を理解していることから、次のようなことがうまくいくはずです:
listOfVals = [valStr.split("=")[1] for valStr in strList]
はlistOfVals
出力リストでstrList
あり、「複数の文字列のリスト」です。
ノート
これは、必要なデータが最初の s と 2 番目の s の間にある文字列に対してのみ機能することに注意してください=
。ただし、文字列の詳細はよくわかりません。ただし、これにより、問題へのアプローチ方法についてのアイデアが得られるはずです。
于 2012-07-27T23:10:32.603 に答える