3

私はこの文字列を持っています:

string = "SEGUNDA A SEXTA\n05:24 \n05:48\n06:12\n06:36\n07:00\n07:24\n07:48\n\n08:12 \n08:36\n09:00\n09:24\n09:48\n10:12\n10:36\n11:00 \n11:24\n11:48\n12:12\n12:36\n13:00\n13:24\n13:48 \n14:12\n14:36\n15:00\n15:24\n15:48\n16:12\n16:36 \n17:00\n17:24\n17:48\n18:12\n18:36\n19:00\n19:48 \n20:36\n21:24\n22:26\n23:15\n00:00\n"

\n\nそして、すべての出現箇所を1つだけに置き換えたい\nのですが、可能であれば" "、数字と改行文字の間のすべての(スペース)も削除したいと思います\n

私はやろうとしています:

string.gsub(/\n\n/, '\n')

しかし、それ\n\n\\n

誰でも私を助けることができますか?

4

2 に答える 2

7

本当の理由は、単一引用符で囲まれた文字列が特殊文字 (\n など) をエスケープしないためです。

string.gsub(/\n/, '\n')

1 つの文字 \n を 2 つの文字 '\' と 'n' に置き換えます。

文字列を印刷すると、違いがわかります。

[302] pry(main)> puts '\n'
\n
=> nil

[303] pry(main)> puts "\n"

=> nil

[304] pry(main)> string = '\n'
=> "\\n"
[305] pry(main)> string = "\n"
=> "\n"
于 2015-11-18T08:12:14.847 に答える