我有这个字符串:
"some text\nandsomemore"
Run Code Online (Sandbox Code Playgroud)
我需要从中删除"\n".我试过了
"some text\nandsomemore".gsub('\n','')
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我该怎么做?谢谢阅读.
oco*_*odo 160
您需要使用"\n"
未'\n'
在您的GSUB.不同的引号表现不同.
双引号"
允许字符扩展和表达式插值,即.它们允许你使用转义控制字符\n
来表示它们的真实值,在这种情况下,换行符,并允许使用,#{expression}
这样你就可以编织变量,以及你喜欢的任何ruby表达式.
另一方面,单引号'
按字面意思处理字符串,因此没有扩展,替换,插值或者你有什么.
在这种特殊情况下,最好使用.delete
或.tr
String方法删除换行符.
Pau*_*der 56
当你想删除一个字符串,而不是替换它时,你可以使用String#delete
(或其mutator等价物String#delete!
),例如:
x = "foo\nfoo"
x.delete!("\n")
Run Code Online (Sandbox Code Playgroud)
x
现在等于"foofoo"
在这个特定的情况下,由于您实际上没有用任何东西替换字符串,String#delete
因此更具可读性gsub
.
Tho*_*asW 52
如果您想要或不介意删除字符串中的所有前导和尾随空格,则可以使用该strip
方法.
" hello ".strip #=> "hello"
"\tgoodbye\r\n".strip #=> "goodbye"
Run Code Online (Sandbox Code Playgroud)
如这里提到的.
编辑这个问题的原始标题是不同的.我的答案是针对原始问题.
Mar*_*mas 29
你不需要正则表达式.使用tr:
"some text\nandsomemore".tr("\n","")
Run Code Online (Sandbox Code Playgroud)
小智 17
使用chomp
或strip
来自Ruby的功能:
"abcd\n".chomp => "abcd"
"abcd\n".strip => "abcd"
Run Code Online (Sandbox Code Playgroud)