繁体   English   中英

如何在Ruby中将“ \\ s”显示为字符串

[英]How to display “\s” as string in ruby

我想将Ruby中的" - "字符串转换为可翻译为regexp的字符串。 我需要这样的东西:

my_regexp => "\s?-\s?"

但是,我在使用特殊字符时遇到了问题:此“ \\ s”字符无法正确显示。 我尝试了几种方法。 没有成功。

INPUT => OUTPUT
"\s?" => " ?"
"\\s?" => "\\s?"

你知道如何解决吗?

\\\\只是一个逃脱的\\

如果print ,则将其puts ,将看到实际的字符串。

>> '\s'  # == "\\s"
=> "\\s"
>> puts '\s'
\s
=> nil

顺便说一句, "\\s" (不是'\\s' )是空格" "另一种表示形式:

>> "\s" == " "
=> true

您最有可能看到的是IRB如何显示值的结果。 您的第二个示例是正确的(实际结果仅包含一个斜杠,您可以通过从中创建一个新的Regexp对象来确认该斜杠):

>> "\\s?"
"\\s?"
>> puts "\\s?"
\s?
>> Regexp.new "\\s?"
/\s?/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM