Tất cả các chuỗi xóa của tôi với gsub sử dụng regex, có cách nào ngắn hơn không? string.gsub(/\A.*\//,'')
Có Regex Delete trong Ruby không?
Trả lời
Một cách là để thêm các phương pháp ngắn của riêng bạn:
class String
def del(regexp)
gsub(regexp,'')
end
def del!(regexp)
gsub!(regexp,'')
end
end
Thông thường mã này sẽ đi trong một lib/thư mục, ví dụ lib/chuỗi extensions.rb
Heads lên rằng một số lập trình viên thực sự không thích điều này bởi vì nó là bản vá lỗi của khỉ. Cá nhân tôi thích nó cho các dự án vì nó làm cho mã dễ hiểu hơn - một khi tôi có phương thức "del", tôi có thể nhanh chóng thấy rằng các cuộc gọi đến nó chỉ xóa regexp.
+1, mặc dù tôi ngạc nhiên không ai bỏ phiếu này. –
Tôi không nghĩ vậy.
Chuỗi :: xóa xóa các ký tự và không khớp với regex, đây là một cách tiếp cận hoàn toàn khác.
Cách duy nhất tôi có thể nghĩ rằng làm cho dòng đó của bạn "ngắn hơn" là sử dụng string.gsub!(/\A.*\//,'')
(thông báo ở đó).
Đó là con đường để đi, tôi nghĩ :)
@Vache haha, phải. sửa chữa nó: P – Castilho
Bạn thay vì có thể chỉ định một phần của chuỗi bạn muốn giữ. . .
string[/[^\/]*$/]
- 1. Dynamic Regex trong Ruby
- 2. ruby regex .scan
- 3. ruby đệ quy regex
- 4. Cách sử dụng VÀ trong Ruby Regex
- 5. ruby regex quét so với = ~
- 6. Trong SQL, UPDATE có luôn nhanh hơn DELETE + INSERT không?
- 7. Ruby regex "chứa một từ"
- 8. Ruby: mảng lọc theo regex?
- 9. Tôi có thể học regex bằng ruby như thế nào?
- 10. Dilemma: Cascade delete hoặc Join delete
- 11. Có^$ và $^trong PHP regex không?
- 12. của Ruby Chuỗi chia với regex
- 13. Chia Ruby regex qua nhiều dòng
- 14. SQL Server DRI (ON DELETE CASCADE) có chậm không?
- 15. Cách sử dụng regex cho utf8 trong ruby
- 16. Tôi có nên sử dụng quy tắc DELETE CASCADE không?
- 17. Sử dụng các nhóm chụp có tên bên trong khối gsub Ruby (regex)
- 18. Tôi có thể sử dụng regex nào để lấy tên miền từ một url trong Ruby?
- 19. Backbone.js model.destroy() không gửi yêu cầu DELETE
- 20. Một sự trở lại thành công của MySQL DELETE là gì? Cách kiểm tra xem DELETE có thành công không?
- 21. Ruby không có isalpha?
- 22. Regex tiêu cực lookbehind trong Ruby dường như không làm việc
- 23. Cụm từ thông dụng của Ruby có toán tử không khớp như "! ~" Trong Perl không?
- 24. Có một add_days trong datetime ruby không?
- 25. Google BigQuery Delete Rows?
- 26. Khớp không gian trong regex
- 27. không gì: làm trong regex
- 28. Thay regex phần phù hợp tại chỗ với Ruby
- 29. Hibernate Delete Cascade
- 30. Yêu cầu DELETE HTTP
Ba ký tự đó thực sự mang lại cho bạn? –
lol dường như đang thực hiện rất nhiều lần xóa chuỗi. Nhưng làm điều đó thông qua gsub, có vẻ như tôi đang làm điều đó sai. Nó nên được thực hiện thông qua string.delete, không? –
string.delete chỉ mất những ký tự cần xóa, không có regexp. string.slice! có thể được sử dụng để loại bỏ một phần của một chuỗi dựa trên một regexp nhưng dài hơn sau đó gsub ... – Pafjo