Heim >Java >javaLernprogramm >Wie teile ich durch Kommas getrennte Zeichenfolgen mit eingebetteten Anführungszeichen?

Wie teile ich durch Kommas getrennte Zeichenfolgen mit eingebetteten Anführungszeichen?

DDD
DDDOriginal
2024-12-07 08:11:11194Durchsuche

How to Split Comma-Delimited Strings with Embedded Quotes?

Aufteilen von durch Trennzeichen getrenntem Text mit eingebetteten Anführungszeichen

Beim Parsen von Text, der einem durch Kommas getrennten Format folgt, kann der Umgang mit eingebetteten Anführungszeichen eine Herausforderung darstellen. Dieser Artikel befasst sich mit diesem Problem und bietet eine Lösung zum Teilen einer Zeichenfolge durch Kommas unter Beibehaltung der Integrität des in Anführungszeichen eingeschlossenen Textes.

Betrachten Sie den folgenden Text:

Verwenden der grundlegenden Zeichenfolge. Die Methode „split(",")“ würde das folgende Ergebnis liefern:

Das Ziel besteht jedoch darin, den zitierten Text als einzelnen Text beizubehalten Entität:

Um dies zu erreichen, verwenden wir eine auf regulären Ausdrücken basierende Lösung:

Dieser Ausdruck teilt die Zeichenfolge basierend auf Kommas, denen eine gerade Anzahl von Double folgt Zitate. Dadurch wird sichergestellt, dass Kommas in zitiertem Text als Trennzeichen ignoriert werden.

Den regulären Ausdruck verstehen:

  • ,(?=( – Entspricht einem Komma gefolgt von einem Look-Ahead-Behauptung.
  • (?:[^"]*"[^"]*")*: Entspricht null oder mehr Wiederholungen des folgenden zitierten Textmusters: „[^“]*“ (ein einfaches Anführungszeichen, gefolgt von Nicht-Anführungszeichen, gefolgt von einem weiteren Anführungszeichen).
  • [^"]*: Entspricht null oder mehr Nicht-Anführungszeichen. Anführungszeichen vor den Anführungszeichen.
  • $[^"]*$: Bestätigt, dass das Ende der Zeichenfolge nach dem Abgleich ohne Anführungszeichen erreicht ist Zeichen.

Alternative Syntax:

Zur besseren Lesbarkeit können Sie den regulären Ausdruck auch mit dem Modifikator (?x) in mehrere Zeilen aufteilen:

Dieser Ansatz gewährleistet eine genaue Aufteilung des durch Trennzeichen getrennten Textes unter Berücksichtigung von Kommas und eingebetteten Anführungszeichen.

Das obige ist der detaillierte Inhalt vonWie teile ich durch Kommas getrennte Zeichenfolgen mit eingebetteten Anführungszeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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