2017-08-05 3 views
0

Je vais avoir du mal à trouver une solution à ce problème:Comment choisir la bonne chaîne séparée si elle correspond à la fin de la chaîne d'origine est-ce possible?

// look we have two strings that have the same ending " day " 
     String days[] = new String[] {"Sunday", "Monday"}; 
    // but here i want nday to be choosen for Monday 
    // and day for Sonday 
    String splDay[] = new String[] {"Mo","Sun","day","nday"}; 

Ce qui va arriver maintenant que la méthode endsWith choisira « jour » au lieu de « nday »

for (String splt: splDay) 
{ 
    if (days[0].endsWith(splt)) 
    { 
     //now it will pick 
     Toast.makeText(this , splt , Toast.LENGTH_SHORT).show(); 
     break; 
    } 
} 

Gardez à l'esprit que je traite avec 1000 mots séparés et je veux choisir le bon que je voulais dire pour le mot original? Est-ce possible?

+0

Vous pouvez trier 'splDay' par longueur, en commençant par le plus long. Ne peut pas être dérangé avec une réponse complète, mais jetez un oeil à https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#parallelSort-T:A-java.util .Comparator- si vous voulez essayer cela. –

Répondre

0

je devais faire cette idée:

String days[] = new String[] {"Sunday", "Monday"}; 

String splDay[] = new String[] {"Mo","Sun","day","nday"}; 

String AnswersArray[][] = new String[][]{ {"Sun","day"} ,{"Mo", "nday"} }; 

ce n'est pas de manière professionnelle, mais ce que je peux faire .. c'est tout ce que je suis.