为什么这个字符串不会在每个"\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')
>> ["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"]
Run Code Online (Sandbox Code Playgroud)
jbr*_*jbr 37
在Ruby中,字符串周围的单引号意味着不解释转义字符.与C不同,单引号表示单个字符.在这种情况下'\n'实际上相当于"\\n".
因此,如果您想拆分,则\n需要更改代码以使用双引号.
.split("\n")
23i*_*use 19
Ruby有方法String#each_line和String#lines
返回一个枚举:http: //www.ruby-doc.org/core-1.9.3/String.html#method-i-each_line
返回一个数组:http: //www.ruby-doc.org/core-2.1.2/String.html#method-i-lines
我没有针对你的场景测试它,但我敢打赌它会比手动选择换行符更好.