chickenwings
Erfahrenes Mitglied
Hallo,
ich sitze gerade einem Problem auf und kann mir beim besten Willen keinen Reim darauf machen wieso nicht das Ergebnis kommt, das ich erwarte. Folgendes:
ich schreibe eine Methode, die mir aus einem beliebigen URL einen bestimmten Parameter zurückliefern soll. Bei den Strings handelt es sich zumeist um URLs. Dazu übergebe ich der Methode den URL, den Match für den Variablen Namen und das Trennzeichen, damit die Funktion weiss, wann der Lesevorgang stoppen soll.
So sieht die Methode aus:
und so ein beispielhafter Aufruf:
das soll bedeuten: ich möchte aus dem String line den Wert der Variablen var= herauslesen. Als Begrenzer kommt das erste Zeichen vor, das keine Zahl ist.
Wenn ich es so machen bekomme ich als Wert meiner Variablen endCut immer -1 zurück, was soviel bedeutet nicht gefunden.
Woran kann das liegen, jemand eine Idee?
Danke
chickenwings
ich sitze gerade einem Problem auf und kann mir beim besten Willen keinen Reim darauf machen wieso nicht das Ergebnis kommt, das ich erwarte. Folgendes:
ich schreibe eine Methode, die mir aus einem beliebigen URL einen bestimmten Parameter zurückliefern soll. Bei den Strings handelt es sich zumeist um URLs. Dazu übergebe ich der Methode den URL, den Match für den Variablen Namen und das Trennzeichen, damit die Funktion weiss, wann der Lesevorgang stoppen soll.
So sieht die Methode aus:
Code:
private Set readString(String extractable, String match, String borderMatch) {
String tmpMatch = null;
Set setOfMatches = new HashSet();
int beginCut = 0;
int endCut = 0;
while(endCut < extractable.length()){
if (extractable.indexOf(match,endCut) != -1){
beginCut = extractable.indexOf(match,endCut)+match.length();
endCut = extractable.indexOf(borderMatch,beginCut);
}
if (endCut == 0)
extractable = "";
else{
tmpMatch = extractable.substring(beginCut,endCut);
extractable = extractable.substring(endCut,extractable.length());
setOfMatches.add(tmpMatch);
}
endCut = 0;
beginCut = 0;
}
return setOfMatches;
}
und so ein beispielhafter Aufruf:
Code:
readString(line,"var=","[^0-9]");
Wenn ich es so machen bekomme ich als Wert meiner Variablen endCut immer -1 zurück, was soviel bedeutet nicht gefunden.
Woran kann das liegen, jemand eine Idee?
Danke
chickenwings