[問題] IO::each_line

看板Ruby作者 (我住5F)時間14年前 (2010/06/19 08:41), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串1/2 (看更多)
環境: e.g. Ruby 1.9 狀況: #IO::each_line 會保留delimiter,有沒有什麼辦法可以去掉呢? #example #test.txt = "abc\ndef\n" File.open("test.txt").each_line{ |l| printf("%s",l) } #output abc\n #可不可以不要\n?有何簡便的方法? def\n 附錄: none -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.124.98.125

06/19 10:03, , 1F
我實驗過,根本沒遇到這個問題。或許可以試試 l.chomp。
06/19 10:03, 1F

06/19 10:09, , 2F
還是你的 \n 不是跳脫字元?那用 .gsub(/\\n/, "")。
06/19 10:09, 2F

06/19 14:24, , 3F
用 File.open("test.txt").each { |x| puts x } 就好啦
06/19 14:24, 3F

06/19 14:26, , 4F
唔,我錯了 each 好像也會保留 >"<
06/19 14:26, 4F

06/19 15:27, , 5F
String#trim String#chomp
06/19 15:27, 5F

06/19 15:28, , 6F
我錯了 沒有 trim 是 chomp XD
06/19 15:28, 6F

06/19 23:07, , 7F
與 trim 對應的應該是 strip, chomp 是直接砍掉最後一個
06/19 23:07, 7F

06/21 12:10, , 8F
chop 才是直接砍掉最後一個,chomp 有點像 rtrim
06/21 12:10, 8F

06/21 12:11, , 9F
但是 chomp 也只會砍掉 \r\n Orz
06/21 12:11, 9F

07/10 13:28, , 10F
請用gsub(/\n/,'')
07/10 13:28, 10F
文章代碼(AID): #1C718TaZ (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1C718TaZ (Ruby)