java - String.replaceAll does not apply to any kind of characters -
this question has answer here:
- string.replaceall() not working 6 answers
so i've got simple method should remove characters except upper , lowercase letters , numbers string.
public static string tosimple(string arg) //redurziert einen string auf buchstaben und ganze zahlen { string string = arg; int = 0; while ( < string.length()) { if (((int)string.charat(i) >= 48 && (int)string.charat(i) <= 57)||((int)string.charat(i) >= 65 && (int)string.charat(i) <= 90)||((int)string.charat(i) >= 97 && (int)string.charat(i) <= 121)) i+=1; else { int = string.length(); string = string.replaceall(""+string.charat(i), ""); if (!(string.length() < a)) //just in case { i+=1; } }
the problem in cases string.replaceall
won't change though reached , given character. checked in debugger , couldn't find apparent errors or exceptions. didn't check whole ascii table, know problem occur '$' '?' , '.'. suggestions how solve that?
string.replaceall
takes regular expression first parameter.
$
, ?
, .
special characters in regular expressions.
use string.replace
instead - uses regular expressions internally too, escapes strings correctly.
however, given you're using string.replaceall
, can use regular expression whole thing:
return arg.replaceall("[^a-za-z0-9]", "");
Comments
Post a Comment