से खाली लाइनों को हटाएं मैं स्ट्रिंग से खाली लाइनों को कैसे हटा सकता हूं? मैंने कुछ_स्ट्रिंग = some_string.gsub (/^$ /, "") की कोशिश की है;रूबी स्ट्रिंग
और बहुत कुछ, लेकिन कुछ भी काम नहीं करता है।
से खाली लाइनों को हटाएं मैं स्ट्रिंग से खाली लाइनों को कैसे हटा सकता हूं? मैंने कुछ_स्ट्रिंग = some_string.gsub (/^$ /, "") की कोशिश की है;रूबी स्ट्रिंग
और बहुत कुछ, लेकिन कुछ भी काम नहीं करता है।
निकालें रिक्त लाइनों:
str.gsub /^$\n/, ''
नोट: अन्य समाधान के विपरीत, यह वास्तव में रिक्त रेखाओं को हटा देता है और लाइन ब्रेक नहीं करता है :)
>> a = "a\n\nb\n"
=> "a\n\nb\n"
>> a.gsub /^$\n/, ''
=> "a\nb\n"
स्पष्टीकरण: ^
की शुरूआत से मेल खाता है और $
अंत में लाइन के ब्रेक के बाद कुछ भी नहीं है। (या निचोड़):
वैकल्पिक, अधिक स्पष्ट (हालांकि कम सुरुचिपूर्ण) समाधान
str.each_line.reject{|x| x.strip == ""}.join
मूलतः
some_string = some_string.gsub(/\n/,'')
अपडेट किया गया
some_string = some_string.gsub(/^$\n/,'')
नहीं है, यह स्ट्रिंग से सभी न्यूलाइन हटा देता है –
एक भी एक साथ कई नई-पंक्तियों बदलें:
fixedstr = str.gsub(/\n\n+/, "\n")
या
str.gsub!(/\n\n+/, "\n")
आप के लिए 2 या अधिक पंक्ति केवल एक साथ टूट जाता है सभी घटनाओं को बदलने के लिए कोशिश कर सकते:
my_string.gsub(/\n{2,}/, '\n')
निचोड़ सिर्फ इतना है कि करता है - एक regex के बिना। की
str.squeeze("\n")
संभव डुप्लिकेट [रूबी: नई रिक्त लाइनों ट्रिम] (http://stackoverflow.com/questions/1040390/ruby-trim-new-blank-lines) – bragboy
यह एक नकली नहीं है। वह शीर्षक * बहुत * भ्रामक –