Sauf si vous ne pouvez pas utiliser apache.commons.lang Le code ci-dessous n'entre pas en jeu.
Utilisez la méthode de la bande. C'est rapide.
À partir de ce moment, il n'est recommandé qu'à ceux qui aiment les choses.
Par exemple. Je souhaite obtenir des éléments autres que les espaces pleine largeur, les espaces demi-largeur et les caractères de tabulation.
Je pense que c'est courant. Remplace tout? "Je ne veux pas remplacer les espaces demi-largeur dans les éléments que je veux récupérer." Donc je ne peux pas l'utiliser.
A cette époque, j'ai écrit le code suivant. J'espère que cela aidera le programmeur copier / coller.
private String trim(String target) {
if (target == null || target.isEmpty() || TRIM_CHARS.isEmpty()) {
return target;
}
final char[] chars = target.toCharArray();
int trimHeadIndex = 0;
int trimTailIndex = 0;
for (int i = 0; i < chars.length; i++) {
if (!TRIM_CHARS.contains(chars[i])) {
trimHeadIndex = i;
break;
}
}
for (int t = chars.length; t > 0; t--) {
if (!TRIM_CHARS.contains(chars[t - 1])) {
trimTailIndex = t;
break;
}
}
return target.substring(trimHeadIndex, trimTailIndex);
}
Bien que TRIM_CHARS soit un tableau
Pour faciliter l'ajout, d'abord avec List,
Après avoir terminé l'opération, définissez-le sur Collections # unmodifiableList
et définissez-le sur`
Il serait peut-être préférable de l'avoir comme constante.
(Pas seulement le modificateur final)
J'ai de nouveau pensé: "Je pense que je peux le faire avec des expressions régulières." Est-ce bien parce que cela a été réalisé?
À propos, même si j'ai expérimenté avec des personnages de paires de substitution, cela a fonctionné comme prévu. (Inattendu)
Recommended Posts