Tôi cần chuyển đổi chuỗi như "/ [\ w \ s] + /" thành cụm từ thông dụng.Chuyển đổi chuỗi thành cụm từ thông dụng ruby
"/[\w\s]+/" => /[\w\s]+/
tôi đã cố gắng sử dụng Regexp
phương pháp khác nhau như:
Regexp.new("/[\w\s]+/") => /\/[w ]+\//
, tương tự Regexp.compile
và Regexp.escape
. Nhưng không ai trong số họ trở lại như tôi mong đợi.
Hơn nữa, tôi đã thử xóa các dấu gạch chéo ngược:
Regexp.new("[\w\s]+") => /[w ]+/
Nhưng không có may mắn.
Sau đó, tôi đã cố gắng để làm cho nó đơn giản:
str = "[\w\s]+"
=> "[w ]+"
Nó thoát. Bây giờ làm thế nào chuỗi có thể vẫn còn như nó và chuyển đổi sang một đối tượng regexp?
Chỉ cần phát hiện ra rằng bạn _can't_ thêm tùy chọn theo cách đó, như '/ # {your_regex}/# {options}'. – pduersteler
Tôi cho rằng bạn đang nói về Rails? 'options' là một Hash, và Ruby không phải là soooo dynamic =) –
Ah, vâng. Tôi đã thử đi qua "ix" với nó :) – pduersteler