如何定义包含反斜杠(“\”)字符的ruby数组?

时间:2014-02-14 02:06:33

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

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

A = ["\"]

我现在被困在这里好几个小时了。尝试了单引号和双引号的几种可能组合,前向和后向斜杠。唉!!

我也看过这个链接:here 但无法理解如何解决我的问题。

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

,我想做点什么
A.includes?("\")

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:5)

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

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

我希望这会有所帮助;)

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

您的问题不在于Array,您的问题确实涉及字符串中特殊字符的转义序列。由于\字符是特殊的,您需要先使用前导反斜杠(它)将它作为前缀(如前所述)。

"\\"

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