Ignorieren von Anführungsstrichen

so unglücklick auch jede weitere Fortführung in diesem Thread hier ist,

aber spätestens wenn man den ganzen Thread bedenkt ist ( ohne Bezug auf gewisse Beta-Versionen) ist standardmäßig zu sagen:
Programmierung und Java muss gelernt werden, wer nie anschaut wie einzelne Befehle funktionieren, wie Dateien eingelesen und Datenfelder gewonnen werden,
wird irgendwann an einer Aufgabe sitzen für die es keine fertige Library gibt und dann Sorgen nicht zu knapp haben

TXT, CSV, String, das sind Themen die sich ideal fürs komplette Durcharbeiten, Verständnis für jeden einzelnen Befehl, eignen

So, Landei, dann erkläre mal, was alles zwischen zwei "-Zeichen stehen kann, und was der eigentliche Inhalt ist.

Ohne weitere Infos weiß ich das nicht,- genauer: Ohne weitere Infos über die Eingabe ist die Fragen nicht beantwortbar.

Für mich ist der Inhalt jetzt einfach, alles, was kein "-Zeichen enthält und länger ist als 2 (bzw. 1). Unschön.

Das Rad kann in dem Fall kein Hofschmied rund bekommen.

Dennoch richtig richtig, zu einer Lib zu greifen, anstatt selber 2 Tage zu programmieren und dann findet m.find(); auf einmal nichts. Split and trim something muss immer mit Daten „in the wild“ umgehen können.

Ich fände es gut, wenn sich der TE/TO (noch) einmal zu Wort melden würde, bevor dicht gemacht wird. Eigentlich sollte man die Aufgabe (lernen) auch irgendwie hin bekommen. Grüße.

Edit: Vielleicht noch ein Ansatz, wenn es genau so viele "-Zeichen, dann von vorne und hinten alle "-Zeichen nacheinander suchen.

Erst einmal braucht man eine Spezifikation. http://supercsv.sourceforge.net/csv_specification.html ist recht kurz und verständlich. Demnach kann zwischen Anführungszeichen so ziemlich alles stehen (während in Feldern ohne Anführungszeichen keine Kommas, Anführungszeichen oder Zeilenumbrüche stehen dürfen). Allerdings müssen Anführungszeichen innerhalb eines in Anführungszeichen eingeschlossenen Feldes “escaped” sein, standardmäßig durch Verdopplung, es wird aber auch der Java-Stil mit Backslash erwähnt.

Vielen Dank, das ist gut, das kannte ich noch nicht.

int l=0, r=n-1;
while (l < r /* or true or a : */) {
  int i = l, j = r;
  while (char at i != " and i!=j) i++;
  while (char at j != " and i!=j) j--;
  if (i == j)
    break;
  l=i; r=j;
}
valid = l!=r;
sout("l ist der Index des Zeichens des letzten öffnenden \"-Zeichen(s),
 r ist der Index des Zeichens des ersten schließenden \"-Zeichen(s),
 valid gibt an, es gibt mind. 2 Zeichen und diese sind ungleich");```

Der kurze Pseudocode oben, den ich gelernt hab/hatte, sollte richtig sein. Sowas kommt dann auch "in the wild" vor und ist unkaputtbar. ;) :) Super CSV

> The main motivation for Super CSV is to be the foremost, fastest, and most programmer-friendly, free CSV package for Java.

sollte in the wild aber immer besser genommen werden, anstatt "Gekritzel" oben.

*** Edit ***

l+1 < und i = l+1, j=r-1 vergessen.