2017-04-04 12 views
-2
string="i-want-all-dashes-split" 

print(split(string,"-")) 

を特定の文字のすべてを分割しないので、私は出力になりたいです。はどのようにPythonの

+0

'輸入再; '( '、'。join(re.split( '( - )'、string)))' – zondo

答えて

3
>>> import re 
>>> string = "i-want-all-dashes-split" 

>>> string.split('-')     # without the dashes 
['i', 'want', 'all', 'dashes', 'split'] 

>>> re.split('(-)', string)   # with the dashes 
['i', '-', 'want', '-', 'all', '-', 'dashes', '-', 'split'] 

>>> ','.join(re.split('(-)', string)) # as a string joined by commas 
'i,-,want,-,all,-,dashes,-,split' 
0

あなたもこの機能を使用することができます。

コード:

def split_keep(s, delim): 

    s = s.split(delim) 
    result = [] 

    for i, n in enumerate(s): 
     result.append(n) 
     if i == len(s)-1: pass 
     else: result.append(delim) 

    return result 

用途:

split_keep("i-want-all-dashes-split", "-") 

出力:

+0

これはあまり効果がありません。 8のように、あなたはdを入れて、デリムを置くつもりだとはかなり確信していますが、それを編集してそれを自分のコードに入れた後の出力は['i'、 'want'、 ' - '、 'all' - 、 ' - '、 ' - '、 ' - '、 ' - '、 '最初のダッシュを文字列の最後の部分に移動しています。 –

+0

おっと!ちょうどそれを修正..ありがとう! –

0
string="i-want-all-dashes-split" 

print 'string='+str(string.split('-')).replace('[','(').replace(']',')').replace(' ','-,') 

>>>string=('i',-,'want',-,'all',-,'dashes',-,'split') 
0

使用strのクラスからスプリット機能:

['i', 'want', 'all', 'dashes', 'split'] 

は、あなたがしたい場合:の値がが怒鳴るようなリストで分割さ

text = "i-want-all-dashes-split" 
splitted = text.split('-') 

タプルとして出力します。コードは次のようになります。

t = tuple(splitted) 
('i', 'want', 'all', 'dashes', 'split') 
0
string="i-want-all-dashes-split" 
print(string.slip('-')) 
# Output: 
['i', 'want', 'all', 'dashes', 'split'] 

のstring.Split()()内
あなたの区切り文字を入れることができます - ( '')( '')あなたは何も入れていない場合、それは次のようになり、デフォルトで。 あなたが機能を行うことができます。

def spliter(string, delimiter=','): # delimiter have a default argument (',') 
    string = string.split(delimiter) 
    result = [] 
    for x, y in enumerate(string): 
     result.append(y) 
     if x != len(string)-1: result.append(delimiter) 
    return result 

出力:

['i', '-', 'want', '-', 'all', '-', 'dashes', '-', 'split']