ruby.split(';\n';)不在新行上拆分
为什么不在每个“\n”上拆分此字符串?(红宝石)ruby.split(';\n';)不在新行上拆分,ruby,string,Ruby,String,为什么不在每个“\n”上拆分此字符串?(红宝石) 您需要.split(“\n”)。正确解释新行需要字符串插值,双引号是一种方法。不能使用单引号: "ADVERTISING [7310]\n\t\tIRS NUMBER:\t\t\t\t061340408\n\t\tSTATE OF INCORPORATION:\t\t\tDE\n\t\tFISCAL YEAR END:\t\t\t0331\n\n\tFILING VALUES:\n\t\tFORM TYPE:\t\t10-Q\n\t\tSEC A
您需要
.split(“\n”)
。正确解释新行需要字符串插值,双引号是一种方法。不能使用单引号:
"ADVERTISING [7310]\n\t\tIRS NUMBER:\t\t\t\t061340408\n\t\tSTATE OF INCORPORATION:\t\t\tDE\n\t\tFISCAL YEAR END:\t\t\t0331\n\n\tFILING VALUES:\n\t\tFORM TYPE:\t\t10-Q\n\t\tSEC ACT:\t\t1934 Act\n\t".split("\n")
在Ruby中,字符串周围的单引号表示不解释转义字符。与C语言不同,C语言中的单引号表示单个字符。在这种情况下,
“\n”
实际上等同于“\\n”
因此,如果要在\n
上拆分,则需要将代码更改为使用双引号
.split(“\n”)
Ruby具有方法String\u行
和String行
返回一个枚举:
返回一个数组:
我没有针对您的场景进行测试,但我打赌它比手动选择换行符或正则表达式更有效。
.split(/\n/)
但是要注意的是,
#line
不会删除换行符,而#split
会删除换行符:“a\nb”。line=>[“a\n”,“b”]
而“a\nb”。split(“\n”)=>[“a”,“b”]
同样,对于以文本模式(默认)读取的文件,换行序列会转换为“\n”
()。因此,无需手动选择它们。跨平台使用“\n”
。
.split(/\n/)