我认为这段代码可行,但正则表达式与\ r \n不匹配.我已经在十六进制编辑器中查看了我正在阅读的数据并验证了文件中确实存在十六进制D和十六进制A模式.
我也尝试过正则表达式/\xD\xA/m和/\x0D\x0A/m,但它们也不匹配.
这是我现在的代码:
lines2 = lines.gsub( /\r\n/m, "\n" )
if ( lines == lines2 )
print "still the same\n"
else
print "made the change\n"
end
Run Code Online (Sandbox Code Playgroud)
除了替代方案,我很高兴知道我做错了什么(为了方便我学习).:)
我有一个用ruby编写的脚本.我需要删除任何重复的换行符(例如)
\n
\n
\n
Run Code Online (Sandbox Code Playgroud)
至
\n
Run Code Online (Sandbox Code Playgroud)
我当前的尝试有效(或者更确切地说)没有使用
str.gsub!(/\n\n/, "\n")
Run Code Online (Sandbox Code Playgroud)
这让我没有改变输出.我究竟做错了什么?
我是Ruby的新手,并且一直在通过Mr. Neighborly的Humble Little Ruby指南工作.在此过程中代码示例中存在一些拼写错误,但我总是设法找出错误并随后修复它 - 直到现在!
这是非常基本的,但我无法在Mac OS X(Snow Leopard)上使用以下示例:
gone = "Got gone fool!"
puts "Original: " + gone
gone.delete!("o", "r-v")
puts "deleted: " + gone
Run Code Online (Sandbox Code Playgroud)
我期待的输出是:
Original: Got gone fool!
deleted: G gne fl!
Run Code Online (Sandbox Code Playgroud)
我实际得到的输出是:
Original: Got gone fool!
deleted: Got gone fool!
Run Code Online (Sandbox Code Playgroud)
删除!方法似乎没有任何影响.
任何人都可以对这里出了什么问题有所了解吗?: - \
在我的RoR应用程序中,我有一个文本区域,并希望将其内容拆分为单独的段落。文本具有以下格式:
Berlin.
Rome.
London.
Paris.
Warsaw.
New York City.
Run Code Online (Sandbox Code Playgroud)
显示时,我希望将其格式化为以下段落:
<p>Berlin. Rome. London.</p>
<p>Paris. Warsaw. New York City.</p>
Run Code Online (Sandbox Code Playgroud)
如何实现呢?我想我需要使用split方法,但是如何定位两个新行?