コマンドの出力を表形式で持っています。この出力を結果ファイルから解析して文字列に格納しています。1行の各要素は1つ以上の空白文字で区切られているため、正規表現を使用して1つ以上のスペースを照合し、分割しています。ただし、すべての要素の間にスペースが挿入されています。
>>> str1="a b c d" # spaces are irregular
>>> str1
'a b c d'
>>> str2=re.split("( )+", str1)
>>> str2
['a', ' ', 'b', ' ', 'c', ' ', 'd'] # 1 space element between!!!
これを行うより良い方法はありますか?
各分割の後str2
、リストに追加されます。
1
私はこの質問に反対票を投じました。理由は、質問自体は関連していますが、指定された例は要求されたソリューションを実際に必要とするほど難しくないためです。たとえば、単語のブロック、数字のブロックがあり、それらを異なる変数に分割する場合は、正規表現が必要です。
—
erikbwork 2018
私は、結果の文字列に不要なスペースの項目を削除したい@erikbwork
—
user2763554
'str2'
はい、単純にを使用してそれを実現できます
—
erikbwork 2018年
str1.split()
。正規表現は必要ありません。