【问题标题】:How to define a ruby array that contains a backslash("\") character?如何定义一个包含反斜杠(“\”)字符的 ruby​​ 数组?
【发布时间】:2014-02-14 02:06:33
【问题描述】:

我想用以下方式在 ruby​​ 中定义一个数组

A = ["\"]

我被困在这里好几个小时了。尝试了单引号和双引号、正斜杠和反斜杠的几种可能组合。唉!!

我也看过这个链接:here 但不明白如何解决我的问题。

除此之外,我需要做的是—— 1.逐个字符读取文件(我设法做到了!) 2.此文件包含一个“\”字符 3. 如果我的数组 A 包含这个反斜杠,我想做点什么

A.includes?("\")

任何帮助表示赞赏!

【问题讨论】:

    标签: ruby-on-rails ruby regex arrays backslash


    【解决方案1】:

    有些字符很特殊,需要转义。 就像你定义一个字符串时一样

    str = " this is test string \
    and this contains multiline data \
    do you understand the backslash meaning here \
    it is being used to denote the continuation of line"
    

    在一个用双引号“”定义的字符串中,如果你需要一个双引号,你会怎么做? “\””,这就是为什么当您在字符串中添加反斜杠时,您会告诉解释器您将使用一些特殊字符,这些字符会被反斜杠转义。因此,当您从文件中读取“\”时,它将被读取作为“\”这个变成一个红宝石字符串。

    char = "\\"
    char.length # => 1
    

    我希望这会有所帮助;)

    【讨论】:

    • 是的,同意@naveen
    【解决方案2】:

    您的问题与Array 无关,您的问题确实涉及字符串中特殊字符的转义序列。由于\ 字符很特殊,您需要先在它前面加上(转义它)一个前导反斜杠,就像这样。

    "\\"
    

    您还应该重新阅读您的链接和section on escape sequences

    【讨论】:

      【解决方案3】:

      您可以使用双引号中的反斜杠来转义反斜杠,例如:

      ["\\"].include?("\\")
      

      【讨论】:

        猜你喜欢
        • 2012-06-29
        • 1970-01-01
        • 2015-03-26
        • 1970-01-01
        • 2014-02-28
        • 1970-01-01
        • 2018-09-25
        • 2018-11-17
        • 1970-01-01
        相关资源
        最近更新 更多