首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么分裂字符串不一致?

为什么分裂字符串不一致?
EN

Stack Overflow用户
提问于 2015-04-24 16:36:39
回答 1查看 61关注 0票数 2

检查:

代码语言:javascript
复制
"test.one.two".split(".") # => ["test", "one", "two"]

对,太完美了。正是我们想要的。

代码语言:javascript
复制
"test..two".split(".") # => ["test", "", "two"]

我用空字符串替换了one,所以这是有意义的

代码语言:javascript
复制
"test".split(".") # => ["test"]

这正是我所期望的,这里没有问题。

代码语言:javascript
复制
".test".split(".") # => ["", "test"]

是的,我的字符串有一个.,因此我得到了两个部分。

代码语言:javascript
复制
"test.".split(".") # => ["test"]

什么?在我的字符串中有一个.,它应该被分成两个部分。我没有要求去掉空字符串;它在测试2或4中没有去掉空字符串。

我本以为["test", ""]

代码语言:javascript
复制
"".split(".") # => []

什么?这应该与测试3完全一样,并返回[""]。但是现在我不能在result[0]上执行任何字符串方法

为什么对于边缘上发生的分裂,或者对于空字符串,这是不一致的?

EN

回答 1

Stack Overflow用户

发布于 2015-04-24 16:42:01

文档很好地解释了这一点:http://ruby-doc.org/core-2.2.0/String.html#method-i-split

如果省略限制参数,则会抑制尾空字段。如果极限是正数,最多会返回该数目的字段(如果限制为1,则整个字符串作为数组中的唯一条目返回)。如果为负数,则不限制返回字段的数量,也不抑制尾空字段。

所以,这做了你所期望的:

代码语言:javascript
复制
"test.".split(".", -1)
 => ["test", ""]

其余的都在文档里。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29852905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档