Hi,
ich habe einen umfangreichen String text. Mit einem regex suche ich nach dem Pattern {@link org.domain.this.is.my.class }. Innerhalb jedes Matches, möchte ich "." durch ":" ersetzen.
Der Code hier liefert fast das gewünschte. Allerdings werden die Punkte durch : ersetzt und dann der entsprechende Ausdruck "org.domain.this.is.my.class" im *ganzen* Text ersetze, auch außerhalb des {@link ... } Patterns. I weiss, dass Zeile 7 das Problem ist. Allerdings kenne ich nicht die Lösung :-( Freue mich über jeden Tipp!
ich habe einen umfangreichen String text. Mit einem regex suche ich nach dem Pattern {@link org.domain.this.is.my.class }. Innerhalb jedes Matches, möchte ich "." durch ":" ersetzen.
Der Code hier liefert fast das gewünschte. Allerdings werden die Punkte durch : ersetzt und dann der entsprechende Ausdruck "org.domain.this.is.my.class" im *ganzen* Text ersetze, auch außerhalb des {@link ... } Patterns. I weiss, dass Zeile 7 das Problem ist. Allerdings kenne ich nicht die Lösung :-( Freue mich über jeden Tipp!
Code:
Pattern pattern = Pattern.compile("\\{@link (.*?)}");
Matcher matcher = pattern.matcher(text);
boolean moreOccurences = matcher.find();
while (moreOccurences) {
String origString = matcher.group(1);
String replString = matcher.group(1).replace(".", ":");
text = text.replace(origString, replString);
moreOccurences = matcher.find();
}