Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Zeichenfolge durch Leerzeichen aufteilen und dabei Teilzeichenfolgen in Anführungszeichen in Python beibehalten?

Wie kann ich eine Zeichenfolge durch Leerzeichen aufteilen und dabei Teilzeichenfolgen in Anführungszeichen in Python beibehalten?

DDD
Freigeben: 2024-11-06 08:58:02
Original
1071 Leute haben es durchsucht

How can I split a string by spaces while preserving quoted substrings in Python?

Aufteilen einer Zeichenfolge durch Leerzeichen unter Beibehaltung der Teilzeichenfolgen in Anführungszeichen in Python

Beim Arbeiten mit Zeichenfolgen, die sowohl Leerzeichen als auch Anführungszeichen enthalten, kann dies eine Herausforderung sein um sie aufzuteilen, ohne die Integrität der zitierten Teilzeichenfolgen zu verlieren. In Python könnten Sie zunächst die Verwendung der Standardmethode string.split() in Betracht ziehen, diese würde die Zeichenfolge jedoch an jedem Leerzeichen trennen, unabhängig von Anführungszeichen.

Um dieses Problem zu beheben, bietet Python mit seinem Shlex eine praktische Lösung Modul, insbesondere die Funktion split(). Mit der Funktion „split()“ können Sie eine Zeichenfolge anhand von Leerzeichen aufteilen und dabei Leerzeichen in Segmenten in Anführungszeichen ignorieren.

Betrachten Sie die Beispielzeichenfolge: „Dies ist „ein Test“.“ Um es mit shlex.split() zu teilen, rufen Sie es einfach mit der Zeichenfolge als Argument auf:

<code class="python">import shlex
shlex.split('this is "a test"')</code>
Nach dem Login kopieren

Das Ergebnis ist eine Liste mit drei Elementen: ['this', 'is', 'a prüfen']. Der in Anführungszeichen gesetzte Teilstring bleibt als einzelnes Element erhalten.

Sie können das Verhalten von shlex.split() weiter anpassen, indem Sie das Schlüsselwortargument posix=False übergeben. Dadurch wird verhindert, dass die Anführungszeichen um die Teilzeichenfolge entfernt werden:

<code class="python">shlex.split('this is "a test"', posix=False)</code>
Nach dem Login kopieren

In diesem Fall wäre das Ergebnis: ['this', 'is', '"a test"'].

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge durch Leerzeichen aufteilen und dabei Teilzeichenfolgen in Anführungszeichen in Python beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage