Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
str = "This\n is a sample text for test" str.scan(/\S.{0,15}\S(?=\s|$)|\S+/) # => ["This", "is a sample text", "for test"]
\nここでは、改行( )が存在するときに分割されます。私は実際に次のように出力したいです、
\n
["This\n is a", "sample text for", "test"]
どうすればそれを達成できますか?
/mドットを改行に一致させる修飾子を使用します。
/m
str.scan(/\S.{0,15}\S(?=\s|\z)|\S+/m)
また、行の終わりに一致するため、\z代わりに使用することをお勧めします。Rubyを文字列の終わりに一致させる唯一の方法です。この例では問題ではありませんが、参加するのは良い習慣です。Rubyは、これら2つの点で他のすべての正規表現フレーバーとは異なります。$$\z
\z
$