テキストを処理して辞書を作成する必要がある{name: quantity}
テキストのバリアント:
2 Cardname
3 Cardname Two
1 Cardname Three
Cardname
Cardname Two
Cardname Three
だから私は基本的なコードを書いた:
card_list = card_area.splitlines()
card_dict = {}
for card in card_list:
qty_re = re.search('^\d{1,6}', card)
if qty_re:
qty = qty_re.group()
else:
qty = 1
name_re = re.search('[A-Za-z ]+$', card)
if name_re:
name = name_re.group()
else:
name = None
if name:
card_dict[name] = qty
最初の質問:文字列の一部の要素が存在しない場合 (数量がない、または空の文字列) 、 groupdict メソッドを使用できますか。
2番目:そのようなフォーマットも検討したい:
2 x Cardname
3x Cardname Two
1 xCardname Three
1xCardname Four
最善の方法は何ですか?