Geschrieben in ** JDK 1.8 **.
Teilzeichenfolge
der Klasse String
Die String
-Klasse verfügt über eine Teilstring
-Methode, die einen Teil des Strings ausschneidet. Es werden zwei Typen entsprechend der Anzahl der Argumente ausgeschnitten.
** Definition **
substring(int beginIndex)
Es schneidet die Zeichen nach beginIndex
aus. Beachten Sie, dass der Index der Zeichenfolge von "0" zählt.
** Anwendungsbeispiel **
String str = ("Doraemon");
String cutStr = str.substring(2);
System.out.println("Nach dem Schneiden:" + cutStr);
Ergebnis
Nach dem Schneiden: Emon
Die Zeichenfolge nach dem Zeichen "e" im angegebenen Index "2" wird ausgeschnitten.
** Definition **
substring(int beginIndex, int endIndex)
Es schneidet die Zeichen nach "beginIndex" einschließlich der Zeichen von "endIndex-1" aus. ** Anwendungsbeispiel **
String str = ("Doraemon");
String cutStr = str.substring(2, 4);
System.out.println("Nach dem Schneiden:" + cutStr);
Ergebnis
Nach dem Schneiden: Emo
Die Zeichenkette "Emo" vom angegebenen "beginIndex = 2" bis zum Zeichen "E" bei "endIndex -1 = 3" wird ausgeschnitten.
Wenn es zwei Argumente gibt und die Länge der Zeichenfolge kleiner als "endIndex -1" ist, wird eine Ausnahme ausgelöst.
Geben Sie die Zeichenfolge aus, die auf dem Bildschirm angezeigt werden soll. Da es eine Begrenzung gibt, dass nur 4 Zeichen auf dem Bildschirm angezeigt werden können, möchte ich die Ausgabezeichenfolge auf 4 Zeichen beschränken. Wenn die Zeichenfolge weniger als 4 Zeichen umfasst, möchte ich sie so ausgeben, wie sie ist.
Code
String str1 = ("Doraemon");
String str2 = ("Nobita");
String str3 = ("Sune Ehemann");
List<String> sourceStrList = Arrays.asList(str1, str2, str3);
List<String> outStrList = new ArrayList<>();
for (String sourceStr : sourceStrList) {
outStrList.add(sourceStr.substring(0, 4));
}
System.out.println("Nach dem Schneiden:" + outStrList);
Ergebnis
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
Ja, eine Ausnahme ist aufgetreten. Hier haben "Nobita" und "Suneo" Indizes bis zu "2", daher sind sie Ausnahmen, da sie kleiner als "endIndex -1 = 3" sind. Dies ist problematisch, da die Zeichenlänge im Voraus überprüft werden muss, um das Problem zu lösen.
substring
in StringUtils
Wenn Sie den in "org.apache.commons.lang3.StringUtils" bereitgestellten "Teilstring" verwenden, können Sie dieses Problem lösen.
substring(String str, int start, int end)
Der Index der Zeichenfolge, die in "str" ausgeschnitten werden soll, reicht von "start" bis "end -1".
Code
String str1 = ("Doraemon");
String str2 = ("Nobita");
String str3 = ("Sune Ehemann");
List<String> sourceStrList = Arrays.asList(str1, str2, str3);
List<String> outStrList = new ArrayList<>();
for (String sourceStr : sourceStrList) {
outStrList.add(StringUtils.substring(sourceStr, 0, 4));
}
System.out.println("Nach dem Ausschneiden:" + outStrList);
Ergebnis
Nach dem Ausschneiden[Doraemo,Nobita,Sune Ehemann]
Sogar eine Zeichenfolge kleiner als "end --1 = 3" wird so ausgegeben, wie sie ist.
java.lang String substring org.apache.commons.lang3 Class StringUtils substring
Recommended Posts