Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38095
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2018-03-01 13:52 -0800 |
| References | <4a800440-39fe-4684-8369-e6a4e6b9d79f@googlegroups.com> <p79ka7$enj$1@dont-email.me> |
| Message-ID | <071d7ec0-3a09-42e1-a4c7-2a99331a65c9@googlegroups.com> (permalink) |
| Subject | Re: regex replaceAll? |
| From | Eric Douglas <e.d.programmer@gmail.com> |
On Thursday, March 1, 2018 at 2:29:24 PM UTC-5, Daniele Futtorovic wrote:
> > Now I'm trying to replace the nth occurrence of a string.
>
> ^This?
>
> Here's one way:
> public static CharSequence replaceEveryNthOccurrenceOf(
> CharSequence input, String match, int nthMatch, String replaceWith
> )
> {
> if( nthMatch <= 0 ){
> throw new IllegalArgumentException("nthMatch must be positive");
> }
>
> Pattern p = Pattern.compile( match );
> Matcher m = p.matcher( input );
> StringBuffer sb = new StringBuffer();
> boolean found = true;
> do {
> for( int ii = nthMatch; ii --> 0 && (found = m.find()); ){
> m.appendReplacement( sb, ii == 0 ? replaceWith : "$0" );
> }
> }
> while( found );
>
> m.appendTail( sb );
>
> return sb;
> }
That is the long way, to be re-usable I have to put that in a custom method to call, not sure why I can't get this to work with the single replaceAll statement but this is the logic I'm looking for.
"abc aa bb cc a bb ccc a b c abc aa bbb cc babacaca"
search for "b", replace every 2nd with "_" results in
"abc aa _b cc a _b ccc a _ c abc aa _b_ cc ba_acaca"
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 06:19 -0800
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-01 19:03 +0000
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 12:15 -0800
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-01 21:51 +0100
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 13:36 -0800
Re: regex replaceAll? Arne Vajhøj <arne@vajhoej.dk> - 2018-03-01 16:59 -0500
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-01 21:55 +0000
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 14:00 -0800
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-01 22:31 +0000
Re: regex replaceAll? Arne Vajhøj <arne@vajhoej.dk> - 2018-03-01 17:52 -0500
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-02 00:14 +0000
Re: regex replaceAll? Kiwi User <martin@mydomain.invalid> - 2018-03-02 00:43 +0000
Re: regex replaceAll? Arne Vajhøj <arne@vajhoej.dk> - 2018-03-01 19:49 -0500
Re: regex replaceAll? Kiwi User <martin@mydomain.invalid> - 2018-03-02 01:33 +0000
Re: regex replaceAll? Arne Vajhøj <arne@vajhoej.dk> - 2018-03-02 13:00 -0500
Re: regex replaceAll? Kiwi User <martin@mydomain.invalid> - 2018-03-03 20:07 +0000
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-02 05:40 -0800
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-02 17:46 +0000
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-02 10:38 -0800
Re: regex replaceAll? Andreas Leitgeb <avl@logic.at> - 2018-03-02 20:15 +0000
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-02 12:43 -0800
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-02 12:58 -0800
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-03 00:06 +0100
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-01 20:29 +0100
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-01 20:30 +0100
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 12:28 -0800
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-01 21:40 +0100
Re: regex replaceAll? Eric Douglas <e.d.programmer@gmail.com> - 2018-03-01 13:52 -0800
Re: regex replaceAll? Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-02 02:25 +0100
csiph-web