我正在尝试解析一个多行字符串并让该行的其余部分遵循某种模式。
文本:
hello john your username is: jj thanks for signing up
I want to extract jj, aka everything after "your username is: "
One way:
text = "hello john\nyour username is: jj\nthanks for signing up\n"
match = text[/your username is: (.*)/]
value = $1
但是这让我想起了 perl... 并没有像我告诉 ruby 那样自然地“阅读”。
有没有更简洁的方法?又名“ ruby ”方式?
谢谢
最佳答案
您的代码几乎是 Ruby 方式。如果你不想使用全局 $1
,你可以使用 2 arg 版本 String#[]
:
match = text[/your username is: (.*)/, 1]
关于ruby - 解析单个键/值的字符串的 "ruby way"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899953/