gsub help

Here's my code

def index     file = "BLAH-ex201588.doc"     @file_cut = order.gsub(/[\w [- ! # $ % ^ & * = +]+]+\.doc$/, '*.doc) end

The code worked before when I was using Ruby 1.9.1, but now I'm using Ruby 1.8.7 due to technical reasons. I would imagine that it should still work, but I doesn't. If I removed the nested brackets and it's contents, it'll work, but will only cut the string to "BLAH-*.doc" instead of "*.doc"

Please help.

Thanks, Anon_comp

I think you should ask this in a Ruby forum. My one cent.

This is absolutely ridiculous lol. This is the second time I've asked a question and was able to solve it myself. Guess if I just keep working for another day, I'll eventually get the answer -____-

Thank you all for reading. Don't need help anymore. All I had to do was remove brakets and escape the speical characters dispite the fact that documents say that you don't have to escape them.

Anon_comp

Here's my code

def index file = "BLAH-ex201588.doc" @file_cut = order.gsub(/[\w [- ! # $ % ^ & * = +]+]+\.doc$/, '*.doc) end

The code worked before when I was using Ruby 1.9.1, but now I'm using Ruby 1.8.7 due to technical reasons. I would imagine that it should still work, but I doesn't. If I removed the nested brackets and it's contents, it'll work, but will only cut the string to "BLAH-*.doc" instead of "*.doc"

ruby 1.9 uses a different regular expression. I think that if you want to include a - in a character class then it should be the last thing in it. /[\w ! # $ % ^ & * = +-]+\.doc$ works for me

Fred

How are we supposed to help you when you haven’t told us what this is supposed to do? We could look at it and try to infer patterns and rules from a single example that is not even real data, but we would have to make lots of assumptions that could easily turn out to be false, especially since you’re saying you expected the result to be ‘*.doc’ in the summary at the end. What do you need a regex for at all?

Also you have a syntax error, but it’s easy enough to guess where the string should have been terminated.

You should answer these questions, because, looking at your regex, I doubt it does what you intend it to. And if it does do what you intend it to, it is probably not for the reasons you think.

ruby 1.9 uses a different regular expression. I think that if you want to include a - in a character class then it should be the last thing in it. /[\w ! # $ % ^ & * = +-]+\.doc$ works for me

Thanks Fred. This is a lot cleaner than the one I have now.

How are we supposed to help you when you haven't told us what this is supposed to do? We could look at it and try to infer patterns and rules from a single example that is not even real data, but we would have to make lots of assumptions that could easily turn out to be false, especially since you're saying you expected the result to be '*.doc' in the summary at the end. What do you need a regex for at all?

Sorry for not being clear, but I thought it was understandable in the end.

Also you have a syntax error, but it's easy enough to guess where the string should have been terminated.

Syntax error? You mean my typo at the end of the code? '*doc) when it should be '*doc') Sorry about that

You should answer these questions, because, looking at your regex, I doubt it does what you intend it to. And if it does do what you intend it to, it is probably not for the reasons you think.

I think it does do what I indend for it to do. At least it seems so to me.

Thanks for replying, Anon_comp