你如何在Ruby中循环多线字符串?

ala*_*dey 49 ruby string loops while-loop

来自第一次Ruby程序员的非常简单的问题.

你如何在Ruby中循环一段文本?每当遇到换行符时,我想重新启动内循环.

def parse(input)
    ...
end
Run Code Online (Sandbox Code Playgroud)

小智 108

串#each_line

str.each_line do |line|
    #do something with line
end
Run Code Online (Sandbox Code Playgroud)

  • 你是怪物!爱它 (6认同)

kch*_*kch 19

Iraimbilanja说的是什么.

或者您可以将字符串拆分为新行:

str.split(/\r?\n|\r/).each { |line| … }
Run Code Online (Sandbox Code Playgroud)

注意each_line保持换行符,同时split吃掉它们.

注意我在这里使用的正则表达式将处理所有三行结束格式.String#each_line通过可选参数分隔行,该参数sep_string默认为$/,它本身默认为"\n"简单.

最后,如果您想进行更复杂的字符串解析,请查看内置的StringScanner类.