Die Manipulation einer Zeichenkette verwenden .substring in Java
Ich lese Zeile für Zeile aus einer text-Datei, die eine Zeichenfolge enthält, gefolgt von einem Leerzeichen, gefolgt von einer weiteren Zeichenfolge. Es ist der zweite string, den ich nutzen möchte für meine Methode.
Beispiel der Textdatei:
0h e3ne6t
ie 51b0x
6 8qlaqi
ty2 9j5dbb
nwz55 7lrwor
So, ich will 'e3ne6t', dann '51b0x' etc.
Ich habe versucht, mit der .substring-Methode und versucht haben, mit "" und "\s" als Repräsentationen von weißen Raum.
Hier ist ein code-snippet, das sollte Ihnen eine gute Idee von, was ich versuche zu erreichen.
while ((strLine = br.readLine()) != null) {
lineNumber++;
System.out.println("lineNumber = " + lineNumber);
int index = strLine.indexOf(" "); //tried \\s
System.out.println("index = " + index);
strLine.substring(index);
System.out.println(strLine);
if (myString.equals(strLine)) {
System.out.println("Match Found!");;
System.out.println("myString = " + myString );
System.out.println("strLine =" + strLine);
}
}
Ich auch versucht, die änderung der Leerzeichen ein"+", aber es immer noch nicht funktionieren würde.
Vorschläge?
- Ein
String
in Java unveränderlich ist. docs.oracle.com/javase/tutorial/java/data/strings.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
substring
nicht ändern, den Inhalt der Zeichenfolge, die Sie rufen es auf, nichts tut, alsString
ist unveränderlich in Java. Stattdessen gibt eine neue Zeichenkette, die den betreffenden Teilstring. So können Sie verwenden:(Das gleiche gilt für Dinge wie
toUpperCase
,trim
,replace
etc.)String sind unveränderlich in java. Sie müssen neu zuweisen, wird der Wert abgerufen, indem
substring
auf die eigentliche variable.Beachten Sie auch, dass
indexOf(str)
nicht nehmen, regex, soindexOf("\\s")
würde Euch nichts geben.Wie andere erwähnt haben, Strings sind unveränderlich in Java. Die
substring
- Methode gibt eine neueString
ist die Teilzeichenfolge. Aber wenn Sie passierenindex
zusubstring
, dann erhalten Sie eine Teilzeichenkette beginnend mit dem Leerzeichen, z.B. "e3ne6t". So würde ich dieses verwenden:bekommen Ihre zweite Feld, voran vorbei an den Leerzeichen, solange
index
ist nicht-1
(nicht gefunden).Manipulation einer Zeichenkette mit
.substring
in Javahttp://www.gleegrid.com/all_in_one/language/substring