How to print raw string in ruby?

2019-09-01 19:31发布

问题:

I want to print escaped or raw version of a string. For example: given this string:

"a,
b,
c,
d"

I want to get

"a,\nb,\nc,\nd".

Is it possible?

回答1:

string = 'a,
b,
c,
d'

> p string.inspect
#=> "\"a,\\nb,\\nc,\\nd\""
# "*** expected output ***"
> p string.inspect.delete('\"')
#=> "a,\\nb,\\nc,\\nd"

Demo



回答2:

s = "a,
b,
c,
d"
s.dump
# => "\"a,\\nb,\\nc,\\nd\"" 
s.dump[1...-1]
# => "a,\\nb,\\nc,\\nd"