Hallo,
ich habe mir vorgenommen mit regulären Ausdrücken mich zu beschäftigen, jetzt bin cih auf das problem gestoßen wie ich am geschicktesten einen ganzen text parsen kann. aktuell nur das ich ** in respektive umwandel später will ich dies erweitern auf z.b. == soll zu <h1> werden etc sprich Wikisyntax in Html umwandeln hatte ich mir als beispiel genommen jetzt aber das problem das zwar der parser funktioniert er auch die ausdrücke findet jedoch entfernt er den nicht zutreffenden text komplett anstatt ihn stehen zu lassen.
Input ist z.B:
output sollte dann eben sein
leider ist aktuell der output:
wie kann ich nun machen das nicht treffer wo auch kein **text** halt einfach vorgehangen & wieder angehängt werden könnte?
Besten Dank für eure Hilfe im Vorraus,
Gruß jensa
ich habe mir vorgenommen mit regulären Ausdrücken mich zu beschäftigen, jetzt bin cih auf das problem gestoßen wie ich am geschicktesten einen ganzen text parsen kann. aktuell nur das ich ** in respektive umwandel später will ich dies erweitern auf z.b. == soll zu <h1> werden etc sprich Wikisyntax in Html umwandeln hatte ich mir als beispiel genommen jetzt aber das problem das zwar der parser funktioniert er auch die ausdrücke findet jedoch entfernt er den nicht zutreffenden text komplett anstatt ihn stehen zu lassen.
Code:
public static String RegEx(String input) {
String str,replacefirst, replacelast,output;
Pattern p;
Matcher m;
output = null;
str = input;
p = Pattern.compile("[^*]*[**]{2}([a-zA-Z]+)[**]{2}[^*]*");
m = p.matcher(str);
replacefirst = "[b]";
replacelast = "[/b]";
while (m.find()) {
output = replacefirst + m.group(1) + replacelast;
}
return output;
}
Input ist z.B:
hallo **Jens**
wie geht es **dir**?
output sollte dann eben sein
hallo Jens
wie geht es dir?
leider ist aktuell der output:
wie kann ich nun machen das nicht treffer wo auch kein **text** halt einfach vorgehangen & wieder angehängt werden könnte?
Besten Dank für eure Hilfe im Vorraus,
Gruß jensa