新手问题 含有\uxxxx 这种的字符串如果打印出中文

tablecell · 2015年12月12日 · 最后由 qinfanpeng 回复于 2015年12月13日 · 2642 次阅读
str='{this.p="\u5317\u4EAC,\u4E0A\u6D77,\u5929\u6D25,\u6E56\u5357,\u6E56\u5317,\u5185\u8499\u53E4,\u5E7F\u4E1C,\u5E7F\u897F,\u91CD\u5E86,\u56DB\u5DDD,\u5C71\u4E1C,\u6CB3\u5357,\u6CB3\u5317,\u5C71\u897F,\u8D35\u5DDE,\u9ED1\u9F99\u6C5F,\u798F\u5EFA,\u6D59\u6C5F,\u6C5F\u82CF,\u6C5F\u897F,\u6D77\u5357,\u9655\u897F".split(",");'
puts str


city=[[1,'北京'], [2,'成都'], [3,'济南'], [4,'上海'], [5,'南京'],[6,'广州'],[7,'杭州']]
out=city.map(&:last)
print out

输出是 ["\u5317\u4EAC", "\u6210\u90FD", "\u6D4E\u5357", "\u4E0A\u6D77", "\u5357\u4EAC", "\u5E7F\u5DDE", "\u676D\u5DDE"]

怎么样打印出中文?

install readline lib first

一个偷懒的办法是把你代码里面的

city=[[1,'北京']

改成

city=[[1,北京]]

也就是把单引号换成双引号。双引号里面的引号用"\"转义一下就行了。

city="p=\"\u5317\u4EAC,\"

ruby 2.2.3p173 windwos 环境

建议别在 windows 下折腾 Ruby,啥问题都可能发生,非常耗时。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号