Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: markspace <-@.> Newsgroups: comp.lang.java.programmer Subject: Re: Regexp exception in String.replaceAll Date: Wed, 26 Sep 2012 10:00:05 -0700 Organization: A noiseless patient Spider Lines: 17 Message-ID: References: <7ku568loa4ogik4e6asouundcbcjurg6lj@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 26 Sep 2012 17:00:07 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="61282af8d6595e8d991edb5ac03d6e00"; logging-data="6386"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/+DPKFtb3cOSAn84CN3UWMRY0knjW8W4o=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 In-Reply-To: Cancel-Lock: sha1:C0S1patFXkZ+ZJTR9K8zU24yTtU= Xref: csiph.com comp.lang.java.programmer:18954 On 9/26/2012 9:35 AM, Tim Slattery wrote: > So before JSE6, if you needed String > arguments, you had a choice of ReplaceAll or ReplaceFirst. Since I > needed to allow for multiple occurrences of the replace string, I had > to use ReplaceAll, and I missed this trap. (And I never considered > that anybody would use a dollar sign in a filename!). Now that we're > using JSE6, I can just change it to call replace instead of > replaceAll. Just to be a little pendantic here, I'm pretty sure that the "new" String::replace just calls Pattern.quote before calling String.replaceAll/First. Pattern.quote has been around since Java 1.5, so it's not really new.