2011-02-10 10 views
1
a = string.split("Test Test2 Test3"," ") 

これはエラーを返します:string.splitエラー?パイソン

Message File Name Line Position  
Traceback    
    <module> C:\pyWiz.py 43  
AttributeError: 'module' object has no attribute 'split'     

はい、私は、文字列のモジュールをインポートしました。 なぜこれが起こっていますか?

+0

どのバージョンのPythonを使用していますか? – dfb

+0

Python 2.7で動作します。しかし、文字列メソッドを使うこともできます。 – Keith

答えて

1

なぜ、"Test Test2 Test3".split()ではないのですか?

+0

私はそれが動作すると思うが、それは私が慣れていたものではない。 2.xでうまく動作しました。 – pajm

+0

@Patrick Moriarty:これまでは問題なく使用されていましたが、現在のPythonでは文字列をもうインポートする必要はありません。 –

0
a = "Test Test2 Test3".split(" ") 
6

使用:

a = 'Test Test2 Test3'.split(' ') 

(すなわちsplit方法のstrタイプ)。 string.splitは2.xで廃止され、3.xでは廃止されました。

1

stringは、クラス/タイプオブジェクトstrを探しているときのモジュールです。私はこのかかわらを行うことをお勧めします:

a = "Test Test2 Test3".split() 
0
>>> a = 'jetpack ferret pizza lawyer'.split() 
>>> a 
['jetpack', 'ferret', 'pizza', 'lawyer'] 

>>> b = 'jetpack ferret pizza lawyer' 
>>> b.split() 
['jetpack', 'ferret', 'pizza', 'lawyer'] 
>>> b 
'jetpack ferret pizza lawyer' 

>>> c = """very 
looooooooooooooooooooooong string  with trailing random whitespace """ 
>>> c = c.split() 
>>> c 
['very', 'looooooooooooooooooooooong', 'string', 'with', 'trailing', 'random', 'whitespace'] 

>>> d = 'dog;_cat;_fish;_'.split(';_') 
>>> d 
['dog', 'cat', 'fish', ''] 

それはほとんどの時間は、あなたが(みとめ文字で作ることができる)、セパレータを指定する必要がないことに注意することです。

split関数に引数を与えないと、すべての空白(空白、タブ、改行、戻り値など)を取り除くことができます。これは、ファイル、シェルなどからの入力を処理するのに適した動作です。特にこの慣用句の最も一般的な使用法:文字列のリストをハードコーディングすることで、カンマや引用符の煩わしい入力を省くことができます。また

場合はつもりだあなたのリストに空の文字列を取得します注意してください:入力文字列が終了したり、セパレータとして定義された1つのまたは複数の文字で始まる

  • (私の最後の例を参照)

  • 取得したい文字のグループの間に複数のセパレータがあります