right, in other words, it implements backreference substitutions
On Wed, Aug 13, 2014 at 3:01 AM, Steven Siew <[email protected]> wrote: > replace(*string*, *pat*, *r*[, *n*]) > > Search for the given pattern pat, and replace each occurrence with r. If n > is provided, replace at most n occurrences. As with search, the second > argument may be a single character, a vector or a set of characters, a > string, or a regular expression. If r is a function, each occurrence is > replaced with r(s) where s is the matched substring. > > > _ > _ _ _(_)_ | A fresh approach to technical computing > (_) | (_) (_) | Documentation: http://docs.julialang.org > _ _ _| |_ __ _ | Type "help()" to list help topics > | | | | | | |/ _` | | > | | |_| | | | (_| | | Version 0.2.0 (2013-11-16 23:44 UTC) > _/ |\__'_|_|_|\__'_| | Official http://julialang.org release > |__/ | i686-w64-mingw32 > > julia> originalstring="Mary had a little lamb, her skin is as white as > snow" > > "Mary had a little lamb, her skin is as white as snow" > > julia> replace(originalstring,r"\b([\w]*e) ([\w]*)","not \1 black \2") > "Mary had a not \x01 black \x02, her skin is as not \x01 black \x02 snow" > > > > > On Wednesday, August 13, 2014 4:05:23 PM UTC+10, John Myles White wrote: > >> Suspect I'm missing something. How is this different from the existing >> function replace? >> >> -- John >> >> On Aug 12, 2014, at 11:03 PM, Steven Siew <[email protected]> wrote: >> >> > Using regex like in the programming language Perl to perform >> replacements. >> > >> > >> > function perlRegexReplace(str::ASCIIString,regex::Regex,rep::ASCIIString) >> >> > local m,len,result,inter >> > m = match(regex,str) >> > len=length(m.captures) >> > result = replace(str,regex,rep) >> > if len > 0 >> > inter = eachmatch(regex,str) >> > for (m in inter) >> > for k = 1:len >> > # Comment out the next line when using function for production >> > println("Replacing \\",k," with ",m.captures[k]) >> > result = replace(result,char(k),m.captures[k],1) >> > end >> > end >> > end >> > result >> > end >> > >> > originalstring="Mary had a little lamb, her skin is as white as snow" >> > >> > resultstring = perlRegexReplace(originalstring,r"\b([\w]*e) >> ([\w]*)","not \1 black \2") >> > >> > println("ORIGINAL: ",originalstring) >> > println("RESULTST: ",resultstring) >> > >> > >> > ====================================== >> > >> > >> > C:\oracle\julia\scripts> ..\julia.bat perlRegexReplace3.jl >> > Replacing \1 with little >> > Replacing \2 with lamb >> > Replacing \1 with white >> > Replacing \2 with as >> > ORIGINAL: Mary had a little lamb, her skin is as white as snow >> > RESULTST: Mary had a not little black lamb, her skin is as not white >> black as snow >> >>
