首页 > 解决方案 > 用空格分割的 Ruby 字符串作为输入删除的不仅仅是空格

问题描述

我有一些具有此特定字符的文本:当我调用字符串 split() 方法(仅使用 ' ' 作为输入)时,将被删除。我应该怎么做才能保留 ?

标签: rubystringsplit

解决方案


这是传递时的预期行为' '。根据文档

如果pattern是单个空格,则str在空格上拆分,前导和尾随空格以及连续空格字符的运行将被忽略。

“空白”是空格 ( " ") 和\t, \n, \v, \f, \r.

"foo bar\nbaz \f qux".split(' ')
#=> ["foo", "bar", "baz", "qux"]

要仅在空间 (U+0020) 上拆分,您必须使用正则表达式:

"foo bar\nbaz \f qux".split(/ /)
#=> ["foo", "bar\nbaz", "\f", "qux"]

推荐阅读