Comment comparer deux chaînes de Java sans considérer les espaces?
J'ai un exemple.
public class Test {
public static void main(String[] args) {
String a="VIJAY KAKADE";
String b="VIJAY KAKADE";
if(a.equalsIgnoreCase(b)){
System.out.println("yes");
}else{
System.out.println("no");
}
}
}
J'ai besoin de vérifier ces chaînes sans tenir compte des espaces. Comment puis-je y parvenir? Comment puis-je ignorer les espaces dans les cordes quand je compare?
source d'informationauteur vijayk
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer de créer une nouvelle chaîne en remplaçant tous les espaces vides.
puis comparez-les.
De remplacer les espaces avec une chaîne vide:
Je pense que le remplacement de tous les espaces avec une chaîne vide planer le danger de la vérification de la situation suivante (trouver les deux noms de l'égalité):
Je sais que je suis peut-être le fractionnement des poils ici, mais je trouve cette question tout en regardant pour une solution similaire pour vérifier les requêtes SQL dans un test unitaire. Parce que mes requêtes sont multi-ligne
static final Strings
je voulais m'assurer que je n'ai pas manqué un espace de n'importe où.À cette fin, je pense que le remplacement de tous les espaces avec un espace unique, ou peut-être un caractère spécial est la solution la plus sûre qui ne besoin de regex:
Pensées?
Comme Zoltan correctement, en indiquant, toutes les réponses en plus de son sont en fait mal.
Pour l'utilisation de la fonctionnalité d'un tiers de la bibliothèque, je suggère
hamcrest
:retourne:
String#replace() méthode est utile pour vous.
si vous souhaitez remplacer tous les espaces, y compris les onglets etc, vous pouvez utiliser
edit: woah ninja aimerais diable
est votre meilleur pari. Cependant, vous pouvez utiliser
a.trim()
pour supprimer attaque et de fuite des espaces si vous connaissez voulez ignorer seulement l'attaque et de fuite des espaces. Aussi la StringUtils de apache commons a beaucoup plus de fonctions pour aider
Vous pouvez utiliser Chaîne de caractères.replace() pour enlever les espaces dans les deux chaînes.