(/ /)的分隔符是什么意思?

use*_*099 2 ruby

查看String的split方法的文档,我遇到了分隔符

//

这是一个白色空间分隔符吗?为什么返回的数组包含""值?

分裂一个字符串

"now's the time".split(/ /) #=> ["", "now's", "", "the", "time"]
Run Code Online (Sandbox Code Playgroud)

Aru*_*hit 8

Regexp

Regexp包含一个正则表达式,用于匹配模式与字符串.使用/.../%r{...}文字以及Regexp::new构造函数创建正则表达式.


这是一个白色空间分隔符吗?

正如@Wayne Conrad所提到的 - 一个空白角色:/[ \t\r\n\f]/.要匹配空格,正则表达式将使用\s而不是空格.

不,它不是一个空白分隔符,而是一个单独的空间.使用Regexp#source确认相同.

返回模式的原始字符串.

 / /.source # =>  " " 
/ /.source.count(' ') # => 1 
Run Code Online (Sandbox Code Playgroud)

这是我的IRB结果:

2.0.0-p0 :001 > "now's the time".split(/ /)
 => ["now's", "the", "time"]
Run Code Online (Sandbox Code Playgroud)