2
votes

Comment puis-je vérifier si une chaîne correspond au tableau de chaînes

Comment puis-je vérifier si une chaîne correspond à l'un des éléments du tableau de chaînes.

Supposons qu'un tableau String contienne {abcdef, ghijkl} Le comparer avec une chaîne "abc" devrait renvoyer la première valeur

Si j'ai utilisé la méthode stringArray.contains (string) , mais cela semble fonctionner uniquement si la chaîne complète correspond. J'ai besoin d'obtenir le résultat même si la chaîne correspond partiellement

Toute aide serait appréciée


2 commentaires

boucle-le et vérifie contient par chacun des éléments?


J'apprécie l'acceptation rapide!


3 Réponses :


2
votes

Pas de méthode sans utiliser de boucle. Je comprends que vous recherchez peut-être une implémentation qui n'a pas besoin d'une boucle auto-écrite. Mais vous devez boucler.


0 commentaires

1
votes

Vous pouvez utiliser la méthode indexOf :

String[] contains(String[] stringArray, String target) {
    String[] result = new String[2];

    for(int index = 0; index < stringArray.length; index++) {
        String current = stringArray[index];
        if (s.indexOf(target) >= 0) {
            result[0] = current;
            result[1] = String.valueOf(index);
        }
    }
}


3 commentaires

Puis-je également obtenir la position dans le tableau de chaînes sur lequel la correspondance est trouvée


Vous pouvez utiliser une chaîne [] pour représenter le résultat. result [0] contient la chaîne, result [1] tient la position.


@jpsingh Le moyen le plus efficace de remercier quelqu'un qui vous répond sur Stack Overflow est d'accepter sa réponse en cliquant sur le bouton coche. Acceptez cette réponse si cela a résolu votre problème.



2
votes

Les flux sont utiles:

Arrays.stream(stringArray)
  .filter(s -> s.contains(stringToSearch))
  .findFirst();

Bien sûr, vos exigences se résument à: trouver la première chaîne du tableau qui commence par la chaîne de recherche. Mais en réalité, vos exigences ne sont pas claires, vous devez donc appliquer le filtre si nécessaire. Il y a une grande différence entre contains () et startsWith () par exemple!


0 commentaires