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

print(split(string,"-")) 

Deshalb möchte ich die Ausgabe sein:Wie Sie alle ein bestimmtes Zeichen in Python

string=(I,-,want,-,all,-,dashes,-,split) 

ich alle im Grunde partitionieren möchten „-“ 's.

+0

'import re; print (','. join (re.split ('(-)', string))) – zondo

Antwort

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

Sie diese Funktion nutzen:

Code:

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 

Verbrauch:

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

Ausgang:

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

Das funktioniert nicht ganz. In like 8 stellst du d und ich bin mir ziemlich sicher, dass du das Ziel setzen willst. Aber nachdem ich das bearbeitet und in meinen Code eingefügt habe, lautet die Ausgabe ['i', 'will', '-', 'all', ' - ',' Bindestriche ',' - ',' Split ',' - ']. Es bewegt den ersten Strich zum letzten Teil der Zeichenfolge, –

+0

Hoppla! Just fixed es .. Danke! –

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

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

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

Verwenden Sie die Split-Funktion von str Klasse:

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

Der Wert von eine Liste wie die sein gespaltet Gebrüll:

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

Wenn Sie wollen, dass die Ausgabe als Tupel, mach es wie im folgenden Code:

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()
Inside the() Sie Trennzeichen setzen können ('-'), wenn Sie setzen alles nicht, es würde ('') standardmäßig sein. Sie können eine Funktion machen:

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 

Ausgang:

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