我正在尝试在Ruby中编写一个函数,它可以接收一个字符串,然后根据某些条件将其拆分。这将用于模拟语法并创建任意单词序列。字符串以以下格式存在:
我将如何实现这一目标?关于如何设置正则表达式以及如何将字符串中的项目提取到数组中,我有点迷失。
答案 0 :(得分:1)
str = "\n<start>\nYou <adj> <name> . ;\nMay <curse> . ;\n"
str.lines # Break on newlines
.map{| l | l.gsub "\n", '' } # remove trailing newlines
.map{| l | l.gsub /\s*;$/, '' } # remove trailing spaces and ;
.reject{| l | l.empty? } # remove empty elements
=> ["<start>", "You <adj> <name> .", "May <curse> ."]