Ruby-如何扫描此文本内容?
我想要这样的输出:Ruby-如何扫描此文本内容?,ruby,Ruby,我想要这样的输出:[“#foo\n\n1234\n\n”、“#bar\n\nk23j4k2j4\nk23j4kj4\n\n”、“#baz\n\nk2k2k2\n\n”]使用以下文本内容中的scan方法 content = ' # foo 1234 # bar k23j4k2j4 k23j4kj4 # baz k2k2k2 ' 我尝试了以下代码。但它并不像我想的那样有效 p content.scan(/^#.*/m) # => ["# foo\n\n1234\n\n# bar
[“#foo\n\n1234\n\n”、“#bar\n\nk23j4k2j4\nk23j4kj4\n\n”、“#baz\n\nk2k2k2\n\n”]
使用以下文本内容中的scan
方法
content = '
# foo
1234
# bar
k23j4k2j4
k23j4kj4
# baz
k2k2k2
'
我尝试了以下代码。但它并不像我想的那样有效
p content.scan(/^#.*/m)
# => ["# foo\n\n1234\n\n# bar\n\nk23j4k2j4\nk23j4kj4\n\n# baz\n\nk2k2k2\n\n"]
你如何解决这个问题
注意:您也可以使用
split
或其他方法代替scan
匹配所有字符串,包括
。
你必须排除它
content.scan(/^#[^#]*/m)
# => ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]
匹配所有字符串,包括
。
你必须排除它
content.scan(/^#[^#]*/m)
# => ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]
试一试
它匹配#
和其他任何内容,直到您再次找到#
=> ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]
试一试
它匹配#
和其他任何内容,直到您再次找到#
=> ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]
我知道的ruby不够多,无法回答您的问题,但我想在“#\n”一词上分道扬镳。然后我会删除第一个结果,在每个结果前加上一个#,然后进行搜索和替换以转换换行符或\n和/或\r。我不知道足够的ruby来回答您的问题,但我会在“#\n”上拆分。然后我将删除第一个结果,在每个结果前加上#,然后执行搜索和替换以转换换行符或\n和/或\r。