結果のリストのスペースを無視せずに文字列を分割する関数が Python にありますか?
例えば:
s="This is the string I want to split".split()
私にくれます
>>> s
['This', 'is', 'the', 'string', 'I', 'want', 'to', 'split']
私は何かが欲しい
['This',' ','is',' ', 'the',' ','string', ' ', .....]
>>> import re
>>> re.split(r"(\s+)", "This is the string I want to split")
['This', ' ', 'is', ' ', 'the', ' ', 'string', ' ', 'I', ' ', 'want', ' ', 'to', ' ', 'split']
re.split()でキャプチャ括弧を使用すると、関数は区切り文字も返します。
標準ライブラリにはそれを単独で行う関数はないと思いますが、「パーティション」が近づいています
おそらく最良の方法は正規表現を使用することです(これは私がどの言語でもこれを行う方法です!)
import re
print re.split(r"(\s+)", "Your string here")
ばかげた答えです。
mystring.replace(" ","! !").split("!")
あなたがやろうとしていることの難しい部分は、あなたがそれに分割するキャラクターを与えていないということです。split()は、指定した文字の文字列を分解し、その文字を削除します。
おそらくこれは役立つかもしれません:
s = "String to split"
mylist = []
for item in s.split():
mylist.append(item)
mylist.append(' ')
mylist = mylist[:-1]
散らかっていますが、それはあなたのためにトリックを行います...