11

私はPythonが初めてなので、単純なものが欠けている可能性があります。

私は例を与えられています:

 string = "The , world , is , a , happy , place " 

で区切られた部分文字列を作成し,て印刷し、インスタンスを個別に処理する必要があります。つまり、この例では、印刷できるはずです

The 
world 
is 
a
happy 
place

どのようなアプローチを取ることができますか? 文字列検索機能を使おうとしたのですが、

Str[0: Str.find(",") ]

2 番目、3 番目のインスタンスを見つけるのに役立ちません。

4

4 に答える 4

5

文字列には、split()このためのメソッドがあります。リストを返します:

>>> string = "The , world , is , a , happy , place "
>>> string.split(' , ')
['The', 'world', 'is', 'a', 'happy', 'place ']

ご覧のとおり、最後の文字列には末尾のスペースがあります。この種の文字列を分割するより良い方法は次のとおりです。

>>> [substring.strip() for substring in string.split(',')]
['The', 'world', 'is', 'a', 'happy', 'place']

.strip()文字列の末尾から空白を取り除きます。

ループを使用しforて単語を印刷します。

于 2013-09-15T03:43:37.977 に答える
2

Python の便利な文字列メソッドのおかげで簡単です:

print "\n".join(token.strip() for token in string.split(","))

出力:

The
world
is
a
happy
place

ところで、string変数名にこの言葉は悪い選択です ( stringPython にはモジュールがあります)。

于 2013-09-15T05:27:17.847 に答える
2

別のオプション:

import re

string = "The , world , is , a , happy , place "
match  = re.findall(r'[^\s,]+', string)
for m in match:
    print m

出力

The
world
is
a
happy
place

デモを見る

を使用することもできmatch = re.findall(r'\w+', string)、同じ出力が得られます。

于 2013-09-15T05:17:00.903 に答える