Wessy
Erfahrenes Mitglied
Hallo Community,
ich brauch mal einen Tip für mein Problem. Schraube schon eine Weile an einer Funktion welche quasi das String-Pendant zu substring ist. Also nicht einen Teil eines Strings anhand von Positionen ermittelt sondern anhand von Strings!
Quasi: Man gibt den Anfangs-/End-String an und was dazwischen ist wird als Resultat zurückgegeben. Das habe ich nun mit regulären Ausdrücken auch 'soweit' fertig, allerdings möchte ich nicht vom ersten Anfangs-String alles bis zum letzten End-String sondern bis zum ersten End-String. Zum besseren Verständnis hab ich mal den Code mit beigefügt.
PS.: Es gibt zwar eine Lösung dass man erst die Positionen der Strings ermittelt und diese dann wiederum per substring verwertet, aber dann wieder alle Fälle wie...ist der End-String vor dem Anfangs-String...ist überhaupt ein Anfangs-String angegeben...ist überhaupt ein End-String angegeben....u.s.w. abzufragen würde den Code schon etwas 'aufblähen'. Vielleicht kann man ja mit einem einfachen Ansatz beim regulären Ausdruck dies schon erledigen
Gibt entsprechend Karl; und Nachname Koslowski und nicht nur Karl zurück!
ich brauch mal einen Tip für mein Problem. Schraube schon eine Weile an einer Funktion welche quasi das String-Pendant zu substring ist. Also nicht einen Teil eines Strings anhand von Positionen ermittelt sondern anhand von Strings!
Quasi: Man gibt den Anfangs-/End-String an und was dazwischen ist wird als Resultat zurückgegeben. Das habe ich nun mit regulären Ausdrücken auch 'soweit' fertig, allerdings möchte ich nicht vom ersten Anfangs-String alles bis zum letzten End-String sondern bis zum ersten End-String. Zum besseren Verständnis hab ich mal den Code mit beigefügt.
PS.: Es gibt zwar eine Lösung dass man erst die Positionen der Strings ermittelt und diese dann wiederum per substring verwertet, aber dann wieder alle Fälle wie...ist der End-String vor dem Anfangs-String...ist überhaupt ein Anfangs-String angegeben...ist überhaupt ein End-String angegeben....u.s.w. abzufragen würde den Code schon etwas 'aufblähen'. Vielleicht kann man ja mit einem einfachen Ansatz beim regulären Ausdruck dies schon erledigen
PHP:
function substrBySearch(stringToSearch,returnFromString,returnToString){
var regularExp;
if(typeof(stringToSearch) !='string'){return false;}
if(typeof(returnFromString)!='string'){returnFromString='';}
if(typeof(returnToString) !='string'){returnToString='';}
regularExp=new RegExp(returnFromString+'(.*)'+returnToString,'i');
stringToSearch=stringToSearch.match(regularExp);
if(stringToSearch==false){return false;}
if(stringToSearch[1]!=undefined && typeof(stringToSearch[1])=='string'){
return stringToSearch[1];
}else{
return false;
}
}
alert(substrBySearch('Hier mal ein paar Daten! Also Vorname Karl; und Nachname Koslowski;','Vorname',';'));
Gibt entsprechend Karl; und Nachname Koslowski und nicht nur Karl zurück!