O
Orion Hunter
I feel really dumb asking this, but I just can't seem to figure it out.
I am trying to parse some text for use in a mysql insert statement. That
being the case, I need to escape out quote characters.
If str= "isn't stands for is not", what I want is a string with "isn\'t
stands for is not"
At first I thought, sure, no problem!! But I can't get it. I've tried the
following:
irb:1> str = "isn't stands for is not"
irb:2> str.sub( '\'', '\'' ) --> "isn't stands for is not" (expected)
irb:3> str.sub( '\'', '\\'' ) --> unterminated string (expected)
irb:4> str.sub( '\'', '\\\' ) --> "isnt stands for is nott stands for is
not" (huh? Why this wierd double take?)
irb:5> str.sub( '\'' ){ |m| m = "\'" } --> "isn't stands for is not"
(expected)
irb:6> str.sub( '\'' ){ |m| m = "\\'" } --> "isn\\'t stands for is not" (why
did it insert TWO \'s?, and not just one? I would have exected the first one
to "escape" the second, thus giving \' as desired)
So, my quesitons are:
1) How do I do my escape character substituion
2) Why did #4 and #6 behave as they did?
Thanks.
_________________________________________________________________
Gift-shop online from the comfort of home at MSN Shopping! No crowds, free
parking. http://shopping.msn.com
I am trying to parse some text for use in a mysql insert statement. That
being the case, I need to escape out quote characters.
If str= "isn't stands for is not", what I want is a string with "isn\'t
stands for is not"
At first I thought, sure, no problem!! But I can't get it. I've tried the
following:
irb:1> str = "isn't stands for is not"
irb:2> str.sub( '\'', '\'' ) --> "isn't stands for is not" (expected)
irb:3> str.sub( '\'', '\\'' ) --> unterminated string (expected)
irb:4> str.sub( '\'', '\\\' ) --> "isnt stands for is nott stands for is
not" (huh? Why this wierd double take?)
irb:5> str.sub( '\'' ){ |m| m = "\'" } --> "isn't stands for is not"
(expected)
irb:6> str.sub( '\'' ){ |m| m = "\\'" } --> "isn\\'t stands for is not" (why
did it insert TWO \'s?, and not just one? I would have exected the first one
to "escape" the second, thus giving \' as desired)
So, my quesitons are:
1) How do I do my escape character substituion
2) Why did #4 and #6 behave as they did?
Thanks.
_________________________________________________________________
Gift-shop online from the comfort of home at MSN Shopping! No crowds, free
parking. http://shopping.msn.com