在字符串数组中提取字符串,将其拆分并放入Ruby中的新数组中?

时间:2017-10-28 03:29:31

标签: ruby

假设我有一个像这样的字符串数组:

arr = ["\n<start>\n<exposition> <conflict> <escape> <conclusion>\t;\n", 
       "\n<exposition>\n<bad-guy> <insane-plan>\t;\n",
       "\n<conflict>\n<friendly-meeting> <female-interest> <danger>\t;\n"]

我想提取数组中的每个字符串,使用\n作为分隔符将其拆分,然后将其放回到这样的数组中:

newArr = ["<start>",
          "<exposition> <conflict> <escape> <conclusion>",
          "<exposition>",
          "<bad-guy> <insane-plan>",
          "<conflict>",
          "<friendly-meeting> <female-interest> <danger>"]

我是Ruby的新手我尝试使用for循环来迭代数组,但它似乎将消除所有Unix行结束然后我没有分隔字符串的分隔符,并且在{{ 1}}他们还有一些额外的字符arr要删除。

1 个答案:

答案 0 :(得分:3)

你可以通过一些正则表达式来实现这个目的:

arr.join.split /[\n\t;]+/

在这里,我将字符串数组连接成一个字符串,并根据多个条件(换行符,制表符和分号)将其拆分。