View Full Version : String auf Sonderzeichen überprüfen
Deficiency
27-10-05, 08:42
HI!
Ich schon wieder!
Hab ne Frage
und zwar hab ich einen String und will diesen Überprüfen:
public String strconv(HttpServletRequest request, HttpServletResponse response,
ServletContext application, String strToConv)throws ServletException, IOException {
StringBuffer outputbuffer = new StringBuffer();
int strlen = 0;
char conv;
for (int i = 0; i <= strToConv.length(); i++) {
if (strToConv.charAt(i) != ???
wie kann ich jetzt strToConv.charAt(i) auf a-z A-Z 0-9
ich hab es schon probiert mit 'a'-'z' && bzw. || 'A'-'Z'
da kam immer und bzw. oder kann bei bool, int nicht verwendet werden
Bei c++ ging das?!?
Aber wie mach ich das in JAVA
Zhx
kuempi von stein
27-10-05, 09:17
HI!
Ich schon wieder!
Hab ne Frage
und zwar hab ich einen String und will diesen Überprüfen:
public String strconv(HttpServletRequest request, HttpServletResponse response,
ServletContext application, String strToConv)throws ServletException, IOException {
StringBuffer outputbuffer = new StringBuffer();
int strlen = 0;
char conv;
for (int i = 0; i <= strToConv.length(); i++) {
if (strToConv.charAt(i) != ???
wie kann ich jetzt strToConv.charAt(i) auf a-z A-Z 0-9
ich hab es schon probiert mit 'a'-'z' && bzw. || 'A'-'Z'
da kam immer und bzw. oder kann bei bool, int nicht verwendet werden
Bei c++ ging das?!?
Aber wie mach ich das in JAVA
Zhx
wie wärs mal mit nem guten javabuch? :D
oder ner guten suchmaschine?
hab mal im netz gesucht und das hier gefunden:
Wie kann ich in einem String oder StringBuffer mehrere Zeichen
suchen und ersetzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Mit
String String#replace(char,char)
kann ich nur einzelne Zeichen suchen und mit
StringBuffer replace(int,int,String)
nur ersetzen aber nicht suchen.
Lösung:
Eine gute Hausaufgabe. Was man hier braucht, ist eine Kombination von
int String#indexOf(String,int),
String String#substring(int,int)
mit einem neu aufzubauenden StringBuffer.
bzw.
int StringBuffer#indexOf(String,int)
StringBuffer#replace(int,int,String)
Die folgende Lösung ist eine unter vielen und ersetzt alle Vorkommen von
"search" in "source" mit "replace":
public static String replaceAll(String source, String search,
String replace) {
if(search.equals(replace)) {
return source; //kann ja sein, dass wir nichts tun müssen
}
StringBuffer result = new StringBuffer();
int len = search.length();
if(len == 0) {
return source; //verhindert Endlosschleife bei search.equals("");
}
int pos = 0; //position
int nPos; //next position
do {
nPos = source.indexOf(search, pos);
if(nPos != -1) { //gefunden
result.append(source.substring(pos, nPos));
result.append(replace);
pos = nPos+len;
} else { //nicht gefunden
result.append(source.substring(pos)); //letzter abschnitt
}
} while(nPos!= -1);
return result.toString();
}
Da sowas praktisch überall gebraucht wird, gibt es unzählige
Bibliothek(chen) im Netz, die so etwas anbieten, z.B.
URL:http://ostermiller.org/utils/StringHelper.java.html (http://ostermiller.org/utils/StringHelper.java.html)
hoffe das hilft dir weiter.
kuempi
Deficiency
28-10-05, 08:40
THX das hat geholfen!!!
Hallo,
noch einfacher sind org.apache.commons.lang.StringUtils - open Source versteht sich.
mfg
Dieter Bender
wie wärs mal mit nem guten javabuch? :D
oder ner guten suchmaschine?
hab mal im netz gesucht und das hier gefunden:
Wie kann ich in einem String oder StringBuffer mehrere Zeichen
suchen und ersetzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Mit
String String#replace(char,char)
kann ich nur einzelne Zeichen suchen und mit
StringBuffer replace(int,int,String)
nur ersetzen aber nicht suchen.
Lösung:
Eine gute Hausaufgabe. Was man hier braucht, ist eine Kombination von
int String#indexOf(String,int),
String String#substring(int,int)
mit einem neu aufzubauenden StringBuffer.
bzw.
int StringBuffer#indexOf(String,int)
StringBuffer#replace(int,int,String)
Die folgende Lösung ist eine unter vielen und ersetzt alle Vorkommen von
"search" in "source" mit "replace":
public static String replaceAll(String source, String search,
String replace) {
if(search.equals(replace)) {
return source; //kann ja sein, dass wir nichts tun müssen
}
StringBuffer result = new StringBuffer();
int len = search.length();
if(len == 0) {
return source; //verhindert Endlosschleife bei search.equals("");
}
int pos = 0; //position
int nPos; //next position
do {
nPos = source.indexOf(search, pos);
if(nPos != -1) { //gefunden
result.append(source.substring(pos, nPos));
result.append(replace);
pos = nPos+len;
} else { //nicht gefunden
result.append(source.substring(pos)); //letzter abschnitt
}
} while(nPos!= -1);
return result.toString();
}
Da sowas praktisch überall gebraucht wird, gibt es unzählige
Bibliothek(chen) im Netz, die so etwas anbieten, z.B.
URL:http://ostermiller.org/utils/StringHelper.java.html (http://ostermiller.org/utils/StringHelper.java.html)
hoffe das hilft dir weiter.
kuempi