Code:
public class Test {
public static void main(String[] args) {
String str = "University";
System.out.println(str.substring(4, 7));
}
}
Ausgabe: ers
Ich verstehe nicht wirklich, wie die Teilstring-Methode funktioniert. Beginnt der Index bei 0? Wenn ich mit 0 beginne, e
ist es bei Index 4, aber char i
ist bei 7, also wäre die Ausgabe ersi
.
Antworten:
0: U.
1: n
2: i
3: v
4: e
5: r
6: s
7: i
8: t
9: y
Startindex ist inklusive
Der Endindex ist exklusiv
Javadoc Link
quelle
Beide sind 0-basiert, aber der Anfang ist inklusive und das Ende ist exklusiv. Dies stellt sicher, dass die resultierende Zeichenfolge lang ist
start - end
.substring
Stellen Sie sich vor, Zeichen befinden sich zwischen Indizes, um die Bedienung zu vereinfachen .0 1 2 3 4 5 6 7 8 9 10 <- available indexes for substring u n i v E R S i t y ↑ ↑ start end --> range of "E R S"
Zitieren der Dokumente :
quelle
Siehe den Javadoc . Es ist ein integrativer Index für das erste Argument und exklusiv für das zweite.
quelle
Wie du fand ich es nicht natürlich. Normalerweise muss ich mich noch daran erinnern
Die Länge der zurückgegebenen Zeichenfolge beträgt
lastIndex - firstIndex
dass Sie die Länge der Zeichenfolge als lastIndex verwenden können, obwohl dort kein Zeichen vorhanden ist und der Versuch, darauf zu verweisen, eine Ausnahme auslösen würde
damit
"University".substring(6, 10)
gibt die 4-stellige Zeichenfolge zurück "
sity"
, obwohl sich an Position 10 kein Zeichen befindet.quelle
public String substring(int beginIndex, int endIndex)
beginIndex
- Der Anfangsindex einschließlich.endIndex
- der Endindex, exklusiv.Beispiel:
public class Test { public static void main(String args[]) { String Str = new String("Hello World"); System.out.println(Str.substring(3, 8)); } }
Ausgabe: "lo Wo"
Von 3 bis 7 Index.
Es gibt auch eine andere Art von
substring()
Methode:public String substring(int beginIndex)
beginIndex
- Der Anfangsindex einschließlich. Gibt eine Unterzeichenfolge zurückbeginIndex
, die bis zum Ende der Hauptzeichenfolge beginnt .Beispiel:
public class Test { public static void main(String args[]) { String Str = new String("Hello World"); System.out.println(Str.substring(3)); } }
Ausgabe: "lo World"
Von 3 bis zum letzten Index.
quelle
Ja, der Index beginnt bei Null (0). Die beiden Argumente sind startIndex und endIndex, wobei laut Dokumentation:
Sehen Sie hier für weitere Informationen.
quelle
Die Teilzeichenfolge beginnt bei und enthält das Zeichen an der Stelle der ersten angegebenen Nummer und geht zu, enthält jedoch nicht das Zeichen an der zuletzt angegebenen Nummer.
quelle
Für Teilzeichenfolgen (startIndex, endIndex) ist startIndex inklusive und endIndex exklusiv. Der startIndex und der endIndex sind sehr verwirrend. Ich würde Teilzeichenfolge (startIndex, Länge) verstehen, um mich daran zu erinnern.
quelle
public class SubstringExample { public static void main(String[] args) { String str="OOPs is a programming paradigm..."; System.out.println(" Length is: " + str.length()); System.out.println(" Substring is: " + str.substring(10, 30)); } }
Ausgabe:
length is: 31 Substring is: programming paradigm
quelle