1

重複の可能性:
Pythonの空白で文字列を分割する

私はそのような文字列を持っています:

['.text      0x1000       0xb51b       0xb600       6.259216    ']

そして私はそれをこれに分割したいと思います:

[.text, 0x1000, 0xb51b... etc]

これまでに試したのは、re.split( "()"、b)およびre.split( "[\ t ]"、b)です。

しかし、役に立たない。私は次のようなものを手に入れます:

.['.text', ' ', '0x1000', ' ', '0xb51b', ' ', '0xb600', ' ', '6.259216', ' ', '']

またはさらに多くの空白を持つ他のいくつか。文字列から空白を削除するだけでよいことはわかっていますが、最初にREを使用して空白を分割したいと思います。

4

3 に答える 3

7

通常だけ使ってみませんstr.splitか?

'.text      0x1000       0xb51b       0xb600       6.259216    '.split()

ドキュメントを引用するには:

sepが指定されていないか、Noneの場合、異なる分割アルゴリズムが適用されます。連続する空白の実行は単一の区切り文字と見なされ、文字列に先頭または末尾の空白がある場合、結果には開始または終了に空の文字列が含まれません。


余談ですが、mystring.split(None)(ではなくmystring.split())を使用すると、分割アルゴリズムを「ハードコーディング」しないようにすることができるため、覚えておくと非常に便利な場合があります。

于 2012-10-08T13:57:28.113 に答える
2

これを試して:

import re
re.split("\s*", yourInputString.strip()) # result as List
于 2012-10-08T14:09:01.980 に答える
1

もう1つのオプションは、最初に複数の空白をクリアし、それらを単一の空白に置き換えることです。その後、split(" ")1つの空白でを実行します。

re.sub(r"  +"," ", text).split(" ")
于 2012-10-08T14:03:23.217 に答える