import java.util.Scanner;
import java.lang.String;
public class Test
{
public static void main(String[] args)
{
char[] sArray;
Scanner scan = new Scanner(System.in);
System.out.print("Enter a Palindrome : ");
String s = scan.nextLine();
s = s.trim();
sArray = new char[s.length()];
for(int i = 0; i < s.length(); i++)
{
sArray[i] = s.charAt(i);
System.out.println(sArray[i]);
}
}
}
Répondre
La découpe ne fonctionne pas comme vous le souhaitez. trim()
supprime uniquement les espaces à partir des extrémités de la chaîne.
Renvoie une copie de la chaîne, avec leader et arrière espaces blancs omis.
Pour supprimer tous les espaces essayez ce qui suit au lieu d'appeler trim()
:
s = s.replaceAll("\\s+", "");
Il utilise une expression régulière très simple pour éliminer tous les espaces partout dans la chaîne.
La fonction trim
supprime avant et arrière espaces, pas tous les espaces. Si vous souhaitez supprimer tous les espaces, vous pouvez appeler s = s.replaceAll(" ", "")
.
oh ok alors comment pourrais-je obtenir mon résultat attendu? –
grande réponse jjnguy et slals
J'utilise maintenant
myinput = myEditTextbox.getText().toString;
myinput = myinput.replaceAll("\\S+", "");
pour nettoyer tous les espaces laissés accidentellement dans une boîte edittext par l'utilisateur. Il m'a également dirigé à apprendre des expressions régulières que je ne connaissais pas. Merci
Qu'est-ce qui ne fonctionne pas? Quelle est la différence entre vos attentes et le résultat? – thejh
Qu'est-ce qui ne va pas exactement? – jjnguy
@thejh: Im tapant par exemple STR ING .... attendant STRING retour .. –