2012-04-11 4 views
-2

Ich möchte ein Trennzeichen in einer Zeichenfolge mit Python erkennen. Nach ein wenig suchen, weiß ich, dass ich csv Modul importieren/benutzen muss, aber es funktioniert für Komma-getrennte Dateien oder Wörter. Wie kann ich es ändern, um ein benutzerdefiniertes Trennzeichen zu erkennen? Brauchen Sie Hilfe. Ich habe die Frage unten angehängt.Wie nach einer Sprache der ausgeglichenen Trennzeichen zu überprüfen

Die Frage für meine Hausaufgaben ist:

Schreiben Sie eine Funktion, um zu bestimmen, ob ein Text Trennzeichen ausgeglichen hat. Die Paare gültiger Trennzeichen sind(), [], {} und <>. Sie können verschachtelt sein. . Darüber hinaus bestimmen, dass Text-Trennzeichen "und" richtig abgestimmt

+2

Sie haben einen Hinweis über die möglichen Trennzeichen muss, können Sie jedes Trennzeichen nicht erkennen, da praktisch alles verwendet werden kann ... – yurib

+6

'Leser = csv.reader (csvfile, delimiter = '|') # pipe delimited' –

+3

Was meinen Sie mit "Delete a delimiter"? Raten Sie, welches Zeichen als Trennzeichen verwendet wird? Gegeben ein Trennzeichen, sehen Sie, ob eine Zeichenfolge es enthält? Teilen Sie eine Zeichenfolge auf einem Begrenzer? – agf

Antwort

1

csv wird nicht Sie für diese helfen

Diese Frage, die Sie bittet um eine Funktion zu erstellen, die ausgewogene Trennzeichen erkennen kann -. Dh Für jedes öffnende Trennzeichen gibt es ein entsprechendes schließendes Trennzeichen

Dies ist eine klassische Frage, weil es mit einer kontextfreien Grammatik spezifiziert werden kann, die einer Statemachine entspricht, deren Kanten der nächsten Eingabe entsprechen und die Knoten angeben Operationen auf einem Stapel

Die Klassen list und deque bilden ausgezeichnete Stapel.

sollte Ihr Code wie folgt aussehen:

def balancedq(input): 
    stack = [] 

    for char in input: 
     #implement your logic here. 
     if sometest: 
      stack.append(char) #push 
     elif someothertest: 
      val = stack.pop() 
      #maybe some test here? 
Verwandte Themen