2013-05-06 68 views
51

爲什麼此字符串不會在每個「\ n」中拆分? (RUBY)ruby​​ .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') 

回答

116

您需要.split("\n")。正確解釋新行需要字符串插值,雙引號是實現這一點的一種方式。

1

你不能爲此使用單引號:

"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") 
27

在圍繞一個串紅寶石單引號表示轉義字符不會解釋。不像在C中,單引號表示單個字符。在這種情況下,'\n'實際上等於"\\n"

所以,如果你想拆分\n你需要改變你的代碼使用雙引號。

.split("\n")

2

或正則表達式

.split(/\n/)