大佬教程收集整理的这篇文章主要介绍了为什么Ruby String#split不将连续的尾随分隔符视为单独的实体?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以这是预期的:
'a$b$c$d'.split('$') # => ["a","b","c","d"]
在我正在使用的数据文件中,列标题行(第一行)被均匀填充,即没有空标题,如:
'a$b$$d' # or: 'a$b$c$'
但是,每行可能具有连续的后跟分隔符,例如:
"w$x$$\r\n"
通常,我读取每一行并且chomp它.但是这会导致String#split将最后两个分隔符视为一列:
"w$x$$\r\n".chomp.split('$') # => ["w","x"]
不做chomp会让我想要的结果,虽然我应该chomp最后一个元素:
"w$x$$\r\n".split('$') # => ["w","x","","\r\n"]
所以我必须:
>如果最终的非换行符不是连续的分隔符,请选中该行
>保留换行符,执行拆分,然后对最后一个元素进行chomp,如果最后的字符是连续的分隔符
这似乎真的很尴尬…我在这里错过了什么?
"w$x$$\r\n".chomp.split('$',-1) # => ["w",""]
以上是大佬教程为你收集整理的为什么Ruby String#split不将连续的尾随分隔符视为单独的实体?全部内容,希望文章能够帮你解决为什么Ruby String#split不将连续的尾随分隔符视为单独的实体?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。