Ruby字符串为何意外结果如此长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计244个文字,预计阅读时间需要1分钟。
使用此代碼:`\t\ttest\t\t.split(/\t/)`,預期結果為:`[, , test, , , ]`。但實際結果為:`[, , test]`。這是因為當使用 `\t` 作為分隔符進行分割時,如果分隔符在字符串的開始或結束位置,它們不會被包括在分割結果中。因此,最後兩個空字符串被省略了。若要保留所有分隔符,可以在分割時排除它們。
使用此代码:"\t\ttest\t\t\t".split(/\t/)
我期待以下结果:
=> ["", "", "test", "", "", ""]
但结果是:
=> ["", "", "test"]
为什么?
# 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` 作為分隔符進行分割時,如果分隔符在字符串的開始或結束位置,它們不會被包括在分割結果中。因此,最後兩個空字符串被省略了。若要保留所有分隔符,可以在分割時排除它們。
使用此代码:"\t\ttest\t\t\t".split(/\t/)
我期待以下结果:
=> ["", "", "test", "", "", ""]
但结果是:
=> ["", "", "test"]
为什么?
# Supply -1 as the limit parameter "\t\ttest\t\t\t".split(/\t/, -1) => ["", "", "test", "", "", ""]
这在String.split() documentation.中有详细说明

