Làm cách nào để xóa các dòng trống khỏi chuỗi? Tôi đã thử some_string = some_string.gsub (/^$ /, "");Ruby xóa các dòng trống khỏi chuỗi
và hơn thế nữa, nhưng không có gì hiệu quả.
Làm cách nào để xóa các dòng trống khỏi chuỗi? Tôi đã thử some_string = some_string.gsub (/^$ /, "");Ruby xóa các dòng trống khỏi chuỗi
và hơn thế nữa, nhưng không có gì hiệu quả.
Hủy bỏ dòng trống:
str.gsub /^$\n/, ''
Lưu ý: không giống như một số các giải pháp khác, điều này thực sự loại bỏ các dòng trống và không ngắt dòng :)
>> a = "a\n\nb\n"
=> "a\n\nb\n"
>> a.gsub /^$\n/, ''
=> "a\nb\n"
Giải thích: phù hợp với sự bắt đầu ^
và kết thúc $
của một dòng không có gì ở giữa, theo sau là ngắt dòng. (! Hoặc ép):
Alternative, rõ ràng hơn (mặc dù ít thanh lịch) giải pháp
str.each_line.reject{|x| x.strip == ""}.join
Nguyên
some_string = some_string.gsub(/\n/,'')
Cập nhật
some_string = some_string.gsub(/^$\n/,'')
không, điều này sẽ xóa tất cả các dòng mới khỏi chuỗi –
Thay thế nhiều dòng mới với một duy nhất:
fixedstr = str.gsub(/\n\n+/, "\n")
hoặc
str.gsub!(/\n\n+/, "\n")
Bạn có thể thử để thay thế tất cả các lần xuất hiện của 2 hoặc dòng hơn phá vỡ chỉ với một cú:
my_string.gsub(/\n{2,}/, '\n')
bóp làm điều đó - mà không có một regex.
str.squeeze("\n")
thể trùng lặp của [Ruby: Trim dòng trống mới] (http://stackoverflow.com/questions/1040390/ruby-trim-new-blank-lines) – bragboy
nó không phải là một trùng lặp. tiêu đề đó * rất * gây hiểu lầm –