Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从纯字符串ruby获取字符串数组_Ruby_String - Fatal编程技术网

从纯字符串ruby获取字符串数组

从纯字符串ruby获取字符串数组,ruby,string,Ruby,String,我有一个字符串模式,如下所示 => "text1 http://www.domain.com/experiment_B_setup_diagram_image.png\n\nExperiments text2 http://www.domain.com/experiment_C_setup_diagram_image.png \nexperiment text3 http://www.domain.com/experiment_A_plotted_cha rt.png" 我想把url分

我有一个字符串模式,如下所示

 => "text1 http://www.domain.com/experiment_B_setup_diagram_image.png\n\nExperiments text2 http://www.domain.com/experiment_C_setup_diagram_image.png \nexperiment text3 http://www.domain.com/experiment_A_plotted_cha
rt.png"
我想把url分开,然后一个接一个地串起来,输出应该是

> ["text1",
> "http://www.domain.com/experiment_B_setup_diagram_image.png",
> "\n\nExperiments", "text2",
> "http://www.domain.com/experiment_C_setup_diagram_image.png",
> "\nexperiment", "text3",........]

像单独的url及其前面或后面的字符串作为数组…有人能帮我吗?

只要您不介意删除换行符(\n),您可以先将它们转换为空格,然后简单地在空格上拆分:

x = "text1 http://www.domain.com/experiment_B_setup_diagram_image.png\n\nExperiments text2 http://www.domain.com/experiment_C_setup_diagram_image.png \nexperiment text3 http://www.domain.com/experiment_A_plotted_chart.png"
x.tr("\n", " ").split(" ")
尝试使用:

.split(/\s|\n+/)
例如:

text="text1 http://www.domain.com/experiment_B_setup_diagram_image.png\n\nExperiments text2 http://www.domain.com/experiment_C_setup_diagram_image.png \nexperiment text3 http://www.domain.com/experiment_A_plotted_chart.png"
text.split(/\s|\n/)
返回:

["text1", "http://www.domain.com/experiment_B_setup_diagram_image.png", "", "Experiments", "text2", "http://www.domain.com/experiment_C_setup_diagram_image.png", "", "experiment", "text3", "http://www.domain.com/experiment_A_plotted_chart.png"]

你试过什么吗?不知道…我不擅长回答你应该试一下,这不是为我写代码的服务。请阅读“”和链接页面。“”也将帮助您。使用
\s+
就足够了,因为它的字符集中已经包含
\n
。再看看它在中的定义,
\s |\n+
可能没有做你认为它是做的事情。请看解释。这是一条很长的路。相反,使用带有
split
的正则表达式来处理空格和换行符。OP提到它们不适合使用正则表达式,因此这是一种替代方法。正则表达式当然是次要的,但对于这个问题来说并不是完全必要的。