-1

文字列のリストで文字列を取得し、スペース以外をコンマで区切りながらすべての空白を削除しようとしています。たとえば、次の文字列があります。

'        XX       XX          X   XXXXXX   XX               XXXXXXX    XXXXX'

として返す必要があり['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXX', 'XXXXX']ます。助言がありますか?

注: 各セグメント間のスペースの量は異なります。

4

3 に答える 3

10

を使用するstr.split()と、すでに必要なことを正確に実行し、任意の幅の空白で分割します。

>>> example = '        XX       XX          X   XXXXXX   XX               XXXXXXXX    XXXXX'
>>> example.split()
['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXXX', 'XXXXX']

先頭の空白も削除されていることに注意してください。

ドキュメントの引用:

sepが指定されていないか である場合None、別の分割アルゴリズムが適用されます。連続する空白の実行は単一の区切り文字と見なされ、文字列の先頭または末尾に空白がある場合、結果には先頭または末尾に空の文字列は含まれません。したがって、空の文字列または空白のみで構成される文字列をNoneセパレータで分割すると、 が返されます[]

于 2013-09-04T14:59:40.130 に答える
5

これより簡単なことはありません:

my_string.split()

例:

>>> '        XX       XX          X   XXXXXX   XX  '.split()
['XX', 'XX', 'X', 'XXXXXX', 'XX']
于 2013-09-04T14:59:06.390 に答える
1

ちょうどsplit()それ:

s =  s = '        XX       XX          X   XXXXXX   XX               XXXXXXXX    XXXXX'
print s.split() # prints ['XX', 'XX', 'X', 'XXXXXX', 'XX', 'XXXXXXXX', 'XXXXX']
于 2013-09-04T15:01:12.060 に答える