【发布时间】:2011-08-31 14:01:33
【问题描述】:
我有一个字符串,我想序列化和反序列化。比如这个:
"hello, world"
现在,如果我将每个 world 子字符串查找并替换(dump 步骤)o,则此字符串变为:
"hello, o"
但是,如果我尝试以另一种方式从o 到world(加载步骤)再次查找和替换,则此字符串变为:
"hellworld, world"
...这与第一个字符串不同。有没有一种简单的方法来处理这个问题,转义字符,使用 Ruby 1.9.2?
谢谢!
编辑:
换句话说,我可以:
- 将文本中的参数(例如“
world”)替换为值(例如“o”)。 - 将任何值(“
o”,根据示例)替换为参数(“world”,根据示例)
所以我希望能够这样做(使用类似 dump() 和 load() 的方法):
string = "Hello world, Ruby on Rails 3.1.0 is out! Yay!"
serialized_string = dump(string)
# => "Hell\o o, Ruby \on Rails 3.1.0 is \out! Yay!"
load(serialized_string).should == string # => true
感谢您的任何想法:)
【问题讨论】:
-
你为什么要使用
"o",一个很可能在原文章其他地方的字符串? -
这只是一个例子。
-
因为它是明文。我只能解析它。我正在尝试获得一个细字符串序列化程序。
标签: ruby serialization escaping deserialization