2017-02-28 3 views
-1

in Ordnung. Dies ist mein erster Beitrag hier und ich bin irgendwie neu in Java so meine Frage ist einfach: gibt es eine Anweisung in Java, die Sonderzeichen aus einer Zeichenfolge entfernen? meine Zeichenfolge sollte nur Buchstaben sein, also wenn der Benutzer eine Leertaste oder einen Punkt oder was auch immer das kein Buchstabe ist und meine Idee war über eine Reihe von Zeichen und Verschiebebuchstaben nach links jedes Mal gibt es etwas, das kein Buchstabe ist so diesen Code ich, dass x schrieb wissen, ist meine Zeichenfolgelöschen Sonderzeichen aus einer Zeichenfolge

char h[]=new char [d]; 
for (int f=0;f<l;f++) 
{ 
    h[f]=x.charAt(f); 
} 
int ii=0; 
while (ii<l) 
{ 
    if(h[ii]==' '||h[ii]==','||h[ii]=='-'||h[ii]=='\\'||h[ii]=='('||h[ii]==')'||h[ii]=='_'||h[ii]=='\''||h[ii]=='/'||h[ii]==';'||h[ii]=='!'||h[ii]=='*'||h[ii]=='.') 
    { 
     for(int m=ii;m<l-1;m++) 
     { 
       h[m]=h[m+1];     
     } 
     d=d-1; 
     ii--; 
    } 
    ii++; 
} 

gut das funktioniert es das besondere Zeichen entfernt, aber ich kann nicht alle Ausnahmen in der Bedingung enthalten Ich frage mich, ob es etwas einfacher ist :)

+0

Blick auf die 'replaceAll' Methode des' String' Klasse. Dadurch wird eine neue Zeichenfolge generiert, aber Sie können diese für die normale Verwendung erfassen. – AntonH

+0

richtig Ich versuche das Danke Mate – Zinou

+0

Viel Glück. Es gibt mehrere Tutorials, die leicht gefunden werden können. Weitere Fragen, ich bin mir sicher, dass es bereits einige SO Fragen dazu gibt, also zögern Sie nicht, eine gute Suche zu machen, ich bin sicher, dass Sie die Antworten auf Ihre Fragen finden können. – AntonH

Antwort

0

Wie andere gesagt haben Strings in Java sind unveränderlich. Eine Möglichkeit, alle Zeichen zu fangen Sie nicht wollen, ist nur für diejenigen, können Sie wollen:

final String input = "some string . "; 
    final StringBuffer sb = new StringBuffer(); 
    final String permittedCharacters = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 

    for (char c : input.toCharArray()){ 
     if (permittedCharacters.indexOf(c)>=0){ 
      sb.append(c); 
     } 
    } 
    final String endString = sb.toString(); 
+0

niiiice^Q^thanx entfernt – Zinou

0

Kurze Antwort - Nein, String ist unveränderlich. Aber Sie können stattdessen StringBuffer verwenden. Dieser Code enthält deleteCharAt(int) Methode, die nützlich sein kann.

+0

wäre als Kommentar besser gewesen, das ist sowieso nicht hilfreich. –

+0

okay danke Bruder – Zinou

+0

@ousmane, stimme mit downvote überein, ich erweitere die Antwort. – iMysak

Verwandte Themen