我有这个字符串:
"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或.trString方法删除换行符.
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)