replace capturing group

Posted by Don on Stack Overflow See other posts from Stack Overflow or by Don
Published on 2010-05-27T12:50:52Z Indexed on 2010/05/27 13:41 UTC
Read the original article Hit count: 198

Filed under:
|

Hi,

If I have a regex with a capturing group, e.g. foo(_+f). If I match this against a string and want to replace the first capturing group in all matches with baz so that

foo___f blah foo________f

is converted to:

foobaz blah foobaz

There doesn't appear to be any easy way to do this using the standard libraries. If I use Matcher.replaceAll() this will replace all matches of the entire pattern and convert the string to

baz blah baz

Obviously I can just iterate through the matches, store the start and end index of each capturing group, then go back and replace them, but is there an easier way?

Thanks, Don

© Stack Overflow or respective owner

Related posts about java

Related posts about regex