Moin Moin.
Also erst mal eine kleine Beschreibung:
Ich habe ein Tool welches jsp-Seiten nach bestimmten Tags durchforstet und in dieses dann wiederum Werte bestimmter Attribute ersetzt.
Dazu durchsuche ich mt bestimmten regulären Ausdrücken den Content-String und an Stellen die gefunden werden speichere ich die Start-/EndePostition in seperaten ArrayListen. Ist die Suche abgeschlossen beginne ich den String von hinten aufzuarbeiten und die Teilstrings (definiert durch Start und Ende in den Listen) zu ersetzen.
Das Problem ist, dass die Regex für einen Tabulator mehrere Leerzeichen nimmt, aber der StringBuffer das Steuerzeichen \t. Das bringt natürlich meine Positionslisten völlig durcheinander.
Beispiel:
Vor dem ersetzen
Nach dem ersetzen
Da knallts: BaModel serieswidth
Wenn der jsp-Entwickler anstatt eines Tabs am Anfang einfache Leerzeichen einfügt funktioniert alles einwandfrei.
Daher meine Frage: Wie könnte ich dieses Problem lösen (ist wichtig und nicht mehr viel Zeit)? Kann man mit einer anderen Codierung etwas erreichen oder wäre ein Workaround denkbar?
Thx
Also erst mal eine kleine Beschreibung:
Ich habe ein Tool welches jsp-Seiten nach bestimmten Tags durchforstet und in dieses dann wiederum Werte bestimmter Attribute ersetzt.
Dazu durchsuche ich mt bestimmten regulären Ausdrücken den Content-String und an Stellen die gefunden werden speichere ich die Start-/EndePostition in seperaten ArrayListen. Ist die Suche abgeschlossen beginne ich den String von hinten aufzuarbeiten und die Teilstrings (definiert durch Start und Ende in den Listen) zu ersetzen.
Das Problem ist, dass die Regex für einen Tabulator mehrere Leerzeichen nimmt, aber der StringBuffer das Steuerzeichen \t. Das bringt natürlich meine Positionslisten völlig durcheinander.
Beispiel:
Vor dem ersetzen
Code:
<vcc:tableComponent name="VGEL_TABLE" headingRowCount="2" columnCount="7" rowCount="10">
<vcc:headingCellProperty column="0" row="0" rowSpan="2" value="Baureihe" width="93" sorted="true" />
Code:
<vcc:tableComponent name="VGEL_TABLE" headingRowCount="2" columnCount="7" rowCount="10">
<vcc:headingCellProperty column="0" row="0" rowSpan="2" value="BaModel serieswidth="93" sorted="true" />
Wenn der jsp-Entwickler anstatt eines Tabs am Anfang einfache Leerzeichen einfügt funktioniert alles einwandfrei.
Daher meine Frage: Wie könnte ich dieses Problem lösen (ist wichtig und nicht mehr viel Zeit)? Kann man mit einer anderen Codierung etwas erreichen oder wäre ein Workaround denkbar?
Thx