En Java, je souhaite couper plusieurs caractères spécifiés uniquement du début et de la fin.

Je veux couper plusieurs caractères spécifiés uniquement du début et de la fin.

Conclusion

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

En Java, je souhaite couper plusieurs caractères spécifiés uniquement du début et de la fin.
[Ruby] Je souhaite afficher uniquement le caractère impair dans la chaîne de caractères
[Java] Je souhaite calculer la différence par rapport à la date
[Java] Supprimer le nombre spécifié de caractères à la fin de StringBuilder
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
Je souhaite accorder des autorisations de modification et de suppression uniquement à l'affiche
Je veux revenir à l'écran précédent avec kotlin et java!
[Java] Je veux effectuer distinctement avec la clé dans l'objet
[Android] Je souhaite obtenir l'auditeur à partir du bouton de ListView
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Je souhaite obtenir l'adresse IP lors de la connexion au Wi-Fi avec Java
J'ai essayé de traduire la grammaire de R et Java [Mis à jour de temps en temps]
Exécuter R à partir de Java Je veux exécuter rJava
Je souhaite envoyer un e-mail en Java.
rsync4j --Je veux toucher rsync en Java.
Je veux écrire rapidement de java vers sqlite
Je veux obtenir la valeur en Ruby
Mémo de développement ~ Je souhaite afficher uniquement la première image publiée plusieurs fois ~
Je veux obtenir uniquement l'heure à partir des données de type Time ...! [Strftime] * Notes supplémentaires
Je veux faire quelque chose comme "cls" en Java
Je veux intégrer n'importe quel TraceId dans le journal
Tokoro j'ai réécrit dans la migration de Wicket 7 à 8
Je veux aussi utiliser ES2015 avec Java! → (´ ・ ω ・ `)
Classes et instances Java comprises dans la figure
Je veux faire des transitions d'écran avec kotlin et java!
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
Je souhaite modifier le chemin après une nouvelle inscription après m'être connecté avec plusieurs appareils.
Je souhaite analyser morphologiquement le journal stocké dans la base de données et le stocker dans la base de données pour classer les messages 1
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
# 1_JAVA Je veux obtenir le numéro d'index en spécifiant un caractère dans la chaîne de caractères
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
[JDBC] J'ai essayé d'accéder à la base de données SQLite3 depuis Java.
J'ai essayé de résumer les bases de kotlin et java
Je veux convertir des caractères ...
Je veux amener Tomcat sur le serveur et démarrer l'application
Je veux faire une liste avec kotlin et java!
Je veux appeler une méthode et compter le nombre
Je veux créer une fonction avec kotlin et java!
Je souhaite utiliser l'API Java 8 DateTime lentement (maintenant)
Corrigez le code de caractère en Java et lisez à partir de l'URL
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
Je veux renvoyer un type différent de l'élément d'entrée avec Java8 StreamAPI Reduce ()
Je souhaite passer au même écran dans l'état enregistré
Je veux implémenter diverses fonctions avec kotlin et java!
Je veux recréer le contenu des actifs à partir de zéro dans l'environnement construit avec capistrano
Je souhaite renvoyer plusieurs valeurs de retour pour l'argument saisi
[Java] Je veux vérifier que les éléments de la liste sont nuls ou vides [Collection Utils]
[Wire Mock] Je souhaite configurer un serveur stub / simulé en Java et effectuer des tests E2E.
J'ai essayé d'implémenter le code pour apprendre plusieurs images à la fois dans la Watson Visual Recognition Collection en Java
Si vous souhaitez modifier l'environnement de développement Java d'Eclipse
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
J'ai essayé de résumer les méthodes de Java String et StringBuilder
Je veux supprimer la marge supérieure dans UITableView de Grouped (swift)
[Java] Comment convertir du type String en type Path et obtenir le chemin
Je veux changer la valeur de l'attribut dans Selenium of Ruby