【发布时间】:2015-12-10 01:59:03
【问题描述】:
我使用\.br\ 作为分隔符:
[10, 20, 30].join('\.br\\')
预期结果:
"10\.br\20\.br\30"
实际返回的内容:
"10\\.br\\20\\.br\\30"
我为反斜杠添加了转义,我怎样才能得到预期的结果?
【问题讨论】:
我使用\.br\ 作为分隔符:
[10, 20, 30].join('\.br\\')
预期结果:
"10\.br\20\.br\30"
实际返回的内容:
"10\\.br\\20\\.br\\30"
我为反斜杠添加了转义,我怎样才能得到预期的结果?
【问题讨论】:
我想你会发现反斜杠实际上并没有在字符串中加倍。
要检查,不要使用p(使用String#inspect)打印它,而是使用puts 打印它。
当字符串为inspected 时,它使用双引号,并尝试生成一个版本的字符串,您可以将其复制并粘贴到 Ruby 中以获得相同的字符串 - 所以它需要将反斜杠字符加倍.
【讨论】:
inspect 输出,因此转义字符串。