Heim >Java >javaLernprogramm >Wie kann ich in Java durch Kommas getrennten Text aufteilen und dabei Kommas in Anführungszeichen ignorieren?
Durch Kommas getrennten Text aufteilen und Kommas in Anführungszeichen ignorieren
Das Parsen von Text mit durch Kommas getrennten Werten kann schwierig sein, wenn bestimmte Werte Kommas in Anführungszeichen enthalten . Die Verwendung der String.split-Methode von Java mit einem einfachen Komma-Trennzeichen führt häufig zu geteilten Werten, die diese Kommas in Anführungszeichen enthalten. Dieses Problem erfordert eine Lösung, die zwischen Kommas außerhalb und innerhalb von Anführungszeichen unterscheidet.
Die Lösung für dieses Problem liegt in regulären Ausdrücken. Der folgende Java-Codeausschnitt bietet eine umfassende Lösung:
String[] arr = str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
Dieser reguläre Ausdruck teilt die Zeichenfolge basierend auf Kommas auf, denen nicht unmittelbar eine gerade Anzahl doppelter Anführungszeichen folgt. Die detaillierte Erklärung des regulären Ausdrucks lautet wie folgt:
( ?=(?:[^"]*"[^"]*")*[^"]*$): Der Look-Ahead-Ausdruck stellt sicher, dass auf das Komma eine gerade Anzahl von Double folgt Anführungszeichen.
Durch die Verwendung dieses regulären Ausdrucks können Sie Kommas effektiv teilen. Getrennter Text, Kommas in doppelten Anführungszeichen werden ignoriert. Mit diesem Ansatz können Sie Text auf zuverlässige Weise analysieren und sicherstellen, dass die in Anführungszeichen gesetzten Werte erhalten bleiben.
Das obige ist der detaillierte Inhalt vonWie kann ich in Java durch Kommas getrennten Text aufteilen und dabei Kommas in Anführungszeichen ignorieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!