Re: Commons Lang substitution
Thanks for your help but sadly doesn't work as expected. Look: Mapmap = new HashMap (); map.put("version", "1"); StrSubstitutor strSubstitutor = new StrSubstitutor(map, "$", ""); strSubstitutor.setVariableSuffixMatcher(StrMatcher.trimMatcher()); System.out.println(strSubstitutor.replace("The $version is awesome")); prints: The 1is awesome Notice that it eats the white space. Alex. El dt., 17 nov. 2015 a les 23:19, Woonsan Ko ( ) va escriure: > I think Jörg is right. > > You may change the suffix StrMather through > #setVariableSuffixMatcher() on a StrSubstitutor. > I haven't tried it, but it should be something like this example: > > final Map valueMap = ...; > StrSubstitutor subst = new StrSubstitutor(valuesMap, "$", ""); // > NONE_MATCHER for suffix initially > subst.setVariableSuffixMatcher(StrMatcher.trimMatcher()); > > HTH, > > Woonsan > > > On Tue, Nov 17, 2015 at 2:20 PM, Jörg Schaible > wrote: > > Alex Soto wrote: > > > >> Hi, thank you for your answers, Jörg I think that StrMatcher is for > >> implementing where you want to get information to be replaced on the > >> string, not for parsing issues. > > > > Instead of guessing, I'd rather have a look into the Javadocs of > > StrSubstitutor. > > > > Cheers, > > Jörg > > > > > > - > > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > > For additional commands, e-mail: user-h...@commons.apache.org > > > > - > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > For additional commands, e-mail: user-h...@commons.apache.org > >
Re: Commons Lang substitution
Alex Soto wrote: > Hi, thank you for your answers, Jörg I think that StrMatcher is for > implementing where you want to get information to be replaced on the > string, not for parsing issues. Instead of guessing, I'd rather have a look into the Javadocs of StrSubstitutor. Cheers, Jörg - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: Commons Lang substitution
Hi, thank you for your answers, Jörg I think that StrMatcher is for implementing where you want to get information to be replaced on the string, not for parsing issues. El dl., 16 nov. 2015 a les 21:38, Jörg Schaible () va escriure: > Benedikt Ritter wrote: > > > Hello, > > > > 2015-11-14 22:25 GMT+01:00 Anthony Brice >: > > > >> I could be wrong, but I do believe StrSubstitor requires a prefix and > >> suffix. I don't think the class will replace variables that aren't in > the > >> map either, unless you write a custom StrLookup that returns an empty > >> string for variables not previously defined. > >> > > > > Yes, this is correct. The replace with blank could be implemented using a > > custom StrLookup. However, it is not possible to configure a > > StrSubstitutor to use only a starting character. > > End "character" could be any non-alphanum character. Isn't it what the > StrMatcher could be used for? > > Cheers, > Jörg > > > - > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > For additional commands, e-mail: user-h...@commons.apache.org > >
Re: Commons Lang substitution
I think Jörg is right. You may change the suffix StrMather through #setVariableSuffixMatcher() on a StrSubstitutor. I haven't tried it, but it should be something like this example: final MapvalueMap = ...; StrSubstitutor subst = new StrSubstitutor(valuesMap, "$", ""); // NONE_MATCHER for suffix initially subst.setVariableSuffixMatcher(StrMatcher.trimMatcher()); HTH, Woonsan On Tue, Nov 17, 2015 at 2:20 PM, Jörg Schaible wrote: > Alex Soto wrote: > >> Hi, thank you for your answers, Jörg I think that StrMatcher is for >> implementing where you want to get information to be replaced on the >> string, not for parsing issues. > > Instead of guessing, I'd rather have a look into the Javadocs of > StrSubstitutor. > > Cheers, > Jörg > > > - > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > For additional commands, e-mail: user-h...@commons.apache.org > - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: Commons Lang substitution
Hello, 2015-11-14 22:25 GMT+01:00 Anthony Brice: > I could be wrong, but I do believe StrSubstitor requires a prefix and > suffix. I don't think the class will replace variables that aren't in the > map either, unless you write a custom StrLookup that returns an empty > string for variables not previously defined. > Yes, this is correct. The replace with blank could be implemented using a custom StrLookup. However, it is not possible to configure a StrSubstitutor to use only a starting character. Benedikt > On Sat, Nov 14, 2015 at 11:02 AM Alex Soto wrote: > > > Hi I have two special requirements that I think that Common-Lang > > StrSubstitutor does not cover, but I would like to know if it is correct > or > > not. > > > > The first requirement is that I would like to know if there is a way to > > make StrSubstitutor works with using simple character as prefix and no > > suffix. For example: > > > > "This is my $name and I am happy" > > > > I have tried by using new StrSubstitutor(map, "$", "") and > > StrSubstitutor(map, "$", " ") but no luck. > > > > I have tried with commons-lang and commons-lang3. > > > > The second one is that I would like to know if there is a way to force > that > > in case of no substitution found, the var is replaced with white space > > instead of untouch it. > > > > Thank you very much for your attention. > > > > Alex. > > > -- http://people.apache.org/~britter/ http://www.systemoutprintln.de/ http://twitter.com/BenediktRitter http://github.com/britter
Re: Commons Lang substitution
Benedikt Ritter wrote: > Hello, > > 2015-11-14 22:25 GMT+01:00 Anthony Brice: > >> I could be wrong, but I do believe StrSubstitor requires a prefix and >> suffix. I don't think the class will replace variables that aren't in the >> map either, unless you write a custom StrLookup that returns an empty >> string for variables not previously defined. >> > > Yes, this is correct. The replace with blank could be implemented using a > custom StrLookup. However, it is not possible to configure a > StrSubstitutor to use only a starting character. End "character" could be any non-alphanum character. Isn't it what the StrMatcher could be used for? Cheers, Jörg - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org