前提・実現したいこと
sentenceに対して()があった場合にsplitで分けたいと考えています。
今の場合だと()がなかった場合に以下のようなエラーが出てしまいます。
nameに入る値をNoneにすることはできないのでしょうか。
また、それ以外にいい方法はありますか?
ご教授お願いします。
発生している問題・エラーメッセージ
ValueError: not enough values to unpack (expected 2, got 1)
該当のソースコード
sentence="aiueo(kakikukeko)" //ok sentence="aiueokakikukeko" //NG comment, name = re.split('[()]', sentence)
"aiueokakikukeko"という文字列を "[()]"で分割しようとしても、元の文字列には"("も")"も含まれていないので分割できないですよね。
先に "[()]"を含むかどうかをチェックして、含んでいなければ、
comment, name = re.split('[()]', sentence), None
とするのが素直なように思います。
"[()]"が元の文字列に出現する回数によって、re.splitで分割された文字列の個数が変わるので、最初から分割される個数を決め打ちにしているコードは避けたほうが無難です。
回答1件
あなたの回答
tips
プレビュー