Écrit en ** JDK 1.8 **.
Substring
de la classe String
La classe String
a une méthode substring
qui coupe une partie de la chaîne. Il découpera deux types en fonction du nombre d'arguments.
** Définition **
substring(int beginIndex)
Il coupe les caractères après beginIndex
. Notez que l'index de la chaîne compte à partir de «0».
** Exemple d'utilisation **
String str = ("Doraemon");
String cutStr = str.substring(2);
System.out.println("Après la coupe:" + cutStr);
résultat
Après la coupe: Emon
La chaîne de caractères après le caractère «e» dans l'index spécifié «2» est coupée.
** Définition **
substring(int beginIndex, int endIndex)
Il coupe les caractères après beginIndex
, y compris les caractères de ʻendIndex-1`.
** Exemple d'utilisation **
String str = ("Doraemon");
String cutStr = str.substring(2, 4);
System.out.println("Après la coupe:" + cutStr);
résultat
Après la coupe: Emo
La chaîne de caractères «Emo» du «beginIndex = 2» spécifié au caractère «E» à «endIndex --1 = 3» est coupée.
S'il y a deux arguments et que la longueur de la chaîne est inférieure à ʻendIndex -1`, une exception sera levée.
Sortie de la chaîne de caractères à afficher à l'écran. Puisqu'il y a une limite selon laquelle seuls 4 caractères peuvent être affichés à l'écran, je souhaite limiter la chaîne de caractères de sortie à 4 caractères. Si la chaîne de caractères est inférieure à 4 caractères, je souhaite la sortir telle quelle.
code
String str1 = ("Doraemon");
String str2 = ("Nobita");
String str3 = ("Mari Sune");
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("Après la coupe:" + outStrList);
résultat
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
Oui, une exception s'est produite. Ici, «Nobita» et «Suneo» ont des index jusqu'à «2», ce qui est inférieur à «endIndex -1 = 3», ce qui est une exception. C'est gênant car il est nécessaire de vérifier la longueur des caractères à l'avance pour le résoudre.
substring
dans StringUtils
Si vous utilisez la sous-chaîne
fournie dans ʻorg.apache.commons.lang3.StringUtils`, vous pourrez résoudre ce problème.
substring(String str, int start, int end)
L'index de la chaîne de caractères à découper dans «str» va de «start» à «end -1».
code
String str1 = ("Doraemon");
String str2 = ("Nobita");
String str3 = ("Mari Sune");
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("Après avoir coupé:" + outStrList);
résultat
Après avoir coupé[Doraemo,Nobita,Mari Sune]
Même si la chaîne de caractères est inférieure à ʻend --1 = 3`, elle sera sortie telle quelle.
java.lang String substring org.apache.commons.lang3 Class StringUtils substring
Recommended Posts