J'essaie de répondre à cette question.
Déplacez la première lettre de chaque mot à la fin de celui-ci, puis ajoutez "AY" à la fin du mot. Laisser des marques de ponctuation intactes. P> blockQuote>
C'est ce que je faisais jusqu'à présent: p>
xxx pré> Il est censé renvoyer la marque de ponctuation sans ajouter "AY" + "". Je pense que je suis impérieux mais s'il vous plaît aide. S'il vous plaît voir le débogueur ci-dessous. P>
P> p>
3 Réponses :
L'un des problèmes ici est que votre autre déclaration est jamais invoquée. La méthode .Contains ne fonctionnera pas avec plusieurs caractères comme celle-là que si vous essayez de les faire correspondre à tous. Dans vos conditions, vous demandez essentiellement si le mot correspond à cette chaîne entière "',.!?:;". Si vous gardez simplement le point d'exclamation là-bas, cela fonctionnera d'invoquer. Je ne sais pas comment vous pouvez utiliser sinon contient en plus de faire une condition pour chacun comme Word.Contains ("!") || Word.Contains (",") || Word.Contains ("''"), etc.. Vous pouvez également utiliser regex pour ce problème.
Alternativement, vous pouvez utiliser quelque chose comme, p> pour déterminer si Un caractère n'est pas un alphabétique, et est un symbole ou une ponctuation. P> p>
Notez que le constructeur code> code> est déprécié b> dans les versions Java plus récentes. Vous devriez toujours utiliser caractère :: valeurOf code> à la place. Cela exploite le cache code> caractère code>.
Je pense que la meilleure façon n'est pas relâchée sur Sortie: strong> p> str.split ("\\ s ++") code>, car vous pourriez avoir la ponctuation dans n'importe quelle plaque. Le meilleur est de regarder à travers la chaîne et de trouver toutes les symboles de la lettre ou du chiffre . Après cela, vous pouvez définir un mot frontières et le traduire. System.out.println(pigIt(",Hello, !World")); // ,elloHay, !orldWay
regex peut être difficile de commencer mais est très puissant:
Hello, World, ! -->elloHay, orldWay, ! Hello?, Wo$, F, ! -->elloHay?, oWay$, Fay, !
Sur la base des informations limitées que vous avez fournies, la production devrait être "ellhay, orldway,!" (Les marques de devis ne font pas partie de la réponse.)
Astuce: Lisez attentivement la documentation.
Word.Contains ("',.!?:;") code> tests siWord code> contient le sous-chaîne' ,. !?:; code>. Ce n'est probablement pas ce que vous voulez.