13

Python では、スペースまたはハイフンで分割するにはどうすればよいですか?

入力:

You think we did this un-thinkingly?

望ましい出力:

["You", "think", "we", "did", "this", "un", "thinkingly"]

どこまでも行ける

mystr.split(' ')

しかし、ハイフンとスペースで分割する方法がわかりません。分割の Python 定義は string のみを指定しているようです。正規表現を使用する必要がありますか?

4

3 に答える 3

29

パターンが 1 つ (または 2 つ)replaceで十分単純な場合は、それを使用します。

mystr.replace('-', ' ').split(' ')

それ以外の場合は、 @jamylakの提案に従って RE を使用してください。

于 2013-06-04T20:33:17.107 に答える
1

正規表現ははるかに簡単で優れていますが、正規表現の使用に断固として反対する場合:

import itertools

itertools.chain.from_iterable((i.split(" ") for i in myStr.split("-")))
于 2013-06-04T20:32:16.393 に答える