这些是什么以及如何使用Ruby删除它们?

时间:2014-02-19 17:16:25

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个来自用户输入的字符串,格式如下:

"foo\U+FFE2\U+FFB5\U+FFE2\U+FFB5"

当我查看它时,它在浏览器或终端中没有显示任何内容,但它们肯定存在。

它们是什么?我如何删除所有这些垃圾字符,最后只是'foo'?

我知道我可以删除这些特定的那些,但可能还有其他不同的我想要的文本值。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我看到两个主要变体:

  1. #split / #join对:

    "fooффф".split('').select{|x|x.ord <= 127}.join
    # => "foo"
    
  2. #unpack / #pack对:

    "fooффф".unpack('U*').select{|x| x <= 127}.pack('U*')
    # => "foo"