ruby - 解析单个键/值的字符串的 "ruby way"是什么?

标签 ruby regex text

我正在尝试解析一个多行字符串并让该行的其余部分遵循某种模式。

文本:

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/

相关文章:

android - 如何在android的内部/外部存储中保存解析的文本文件

ruby - 如何检查字符串是否包含 Ruby 中的子字符串

ruby - 什么!是指在 Ruby 方法定义的末尾?

ruby-on-rails - 将 umlaute (äüö) 替换为 rails 中的 SEO 链接 - 最佳方式

java - 从每一行中获取第一个词?

C++ 正则表达式解析嵌套结构

java - Burrows Wheeler 变换的优化

javascript - 是否有用于表达公式的 DSL?

java - 在Java中查找字符串中所有出现的子字符串

python - 如何使用python将csv文件转换为文本文件?