Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Re: How do I replace certain character if condition exists

by Bilbo (Pilgrim)
on Apr 17, 2003 at 13:41 UTC ( #251195=note: print w/replies, xml ) Need Help??


in reply to Re: How do I replace certain character if condition exists
in thread How do I replace certain character if condition exists

This works if you are sure that you won't have any nested parentheses. If you do then it doesn't work at all, for example:

a(b(c))           becomes a b(c))
a (b (c) d (e) f) becomes a  b (c) d (e) f)
  • Comment on Re: Re: How do I replace certain character if condition exists

Replies are listed 'Best First'.
Re: Re: Re: How do I replace certain character if condition exists
by kilinrax (Deacon) on Apr 17, 2003 at 16:58 UTC
    Well, you can do that with a regex, but it's a good degree more complicated.....
    abowley@krait:~$ (echo 'Madrid(Spain(Europe)' && echo 'Madrid(Spain(Eu +rope))' && echo 'Madrid(Spain Europe))' && echo 'a(b(c))' && echo 'a +(b (c) d (e) f)') | perl -mstrict -wpe 'BEGIN { $brackets = qr#\([^() +]*(?:(??{$brackets})[^()]*)*\)# }; s#([^)]+?)($brackets)([^(]+)# ( my + $s = $1 ) =~ tr/(/ /; ( my $e = $3 ) =~ tr/)/ /; $s . $2 . $e #ge;' Madrid Spain(Europe) Madrid(Spain(Europe)) Madrid(Spain Europe) a(b(c)) a (b (c) d (e) f)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://251195]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2022-05-17 05:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (65 votes). Check out past polls.

    Notices?