Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Multiple substitutions in one pass
Chris Causer
2/26/2008 3:24:00 PM
I have a long document which I am trying to parse. I am coming unstuck
trying to speed it up and get all the substitutions out the way quickly.
I have a hash array of original and new things to substitute, and it
works. However, I'm sure there is a more efficient way of doing things.
RegExp has a union method, but that doesn't seem to handle string
capture within matches.
One final thing is that I would like this sub to throw something if no
substitutions are performed on the str.
--------------------------------------------------
def makeSubs(str)
subCurlyArray={/section%LCURL%(\d+)(.*?)%RCURL%\1/ => "\n"+'---+\2',
/subsection%LCURL%(\d+)(.*?)%RCURL%\1/ => "\n"+'---++\2',
/subsubsection%LCURL%(\d+)(.*?)%RCURL%\1/ => "\n"+'---+++\2',
/emph%LCURL%(\d+)(.*?)%RCURL%\1/ => '<em>\2</em>',
/includegraphics\[(.*)\]%LCURL%(\d+)(.*?)%RCURL%\1/ =>'IMAGE <img
src="\3" \2> ENDIMAGE',
/texttt%LCURL%(\d+)(.*?)%RCURL%\1/ => '<verbatim>\2 </verbatim>',
/code%LCURL%(\d+)(.*?)%RCURL%\1/ => '<verbatim>\2</verbatim>',
/textbf%LCURL%(\d+)(.*?)%RCURL%\1/ => '*\2*',
/textit%LCURL%(\d+)(.*?)%RCURL%\1/ => '_\2_',
}
subArray.each do |orig, new|
str.gsub!(orig, new)
else
return str
end
---------------------------------------------------
Thank you
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Multiple substitutions in one pass
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password