Ruby字符串为何意外结果如此长尾?

2026-06-09 19:19:07 404阅读 0评论 SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计244个文字,预计阅读时间需要1分钟。

使用此代碼:`\t\ttest\t\t.split(/\t/)`,預期結果為:`[, , test, , , ]`。但實際結果為:`[, , test]`。這是因為當使用 `\t` 作為分隔符進行分割時,如果分隔符在字符串的開始或結束位置,它們不會被包括在分割結果中。因此,最後兩個空字符串被省略了。若要保留所有分隔符,可以在分割時排除它們。

Ruby字符串为何意外结果如此长尾?

使用此代码:

"\t\ttest\t\t\t".split(/\t/)

我期待以下结果:

=> ["", "", "test", "", "", ""]

但结果是:

Ruby字符串为何意外结果如此长尾?

=> ["", "", "test"]

为什么?

如果省略limit参数,则返回的空字段将保留在返回的数组之外.如果是否定的,则返回:

# Supply -1 as the limit parameter "\t\ttest\t\t\t".split(/\t/, -1) => ["", "", "test", "", "", ""]

这在String.split() documentation.中有详细说明

标签: 字符串 意外 结果

本文共计244个文字,预计阅读时间需要1分钟。

使用此代碼:`\t\ttest\t\t.split(/\t/)`,預期結果為:`[, , test, , , ]`。但實際結果為:`[, , test]`。這是因為當使用 `\t` 作為分隔符進行分割時,如果分隔符在字符串的開始或結束位置,它們不會被包括在分割結果中。因此,最後兩個空字符串被省略了。若要保留所有分隔符,可以在分割時排除它們。

Ruby字符串为何意外结果如此长尾?

使用此代码:

"\t\ttest\t\t\t".split(/\t/)

我期待以下结果:

=> ["", "", "test", "", "", ""]

但结果是:

Ruby字符串为何意外结果如此长尾?

=> ["", "", "test"]

为什么?

如果省略limit参数,则返回的空字段将保留在返回的数组之外.如果是否定的,则返回:

# Supply -1 as the limit parameter "\t\ttest\t\t\t".split(/\t/, -1) => ["", "", "test", "", "", ""]

这在String.split() documentation.中有详细说明

标签: 字符串 意外 结果