Ruby 从长文本中提取子字符串/值

Ruby 从长文本中提取子字符串/值,ruby,Ruby,我有一个长字符串/文本,例如 …blahblahblahblahlah,“短代码”:“Bk5z5Lgn1234”,blahblahblablha…,“短代码”:“Wuipsz5Lgn1234”,blahblahblablh… 我希望提取以下模式的所有子字符串: “快捷码”:“Bk5z5Lgn1234” “快捷码”:“Wuipsz5Lgn1234” 短代码的值,即Bk5z5Lgn1234和Wuipsz5Lgn1234,具有恒定长度(11个字符)。只需要获取值就可以了。如果获取所有出现的短代码值很复

我有一个长字符串/文本,例如

…blahblahblahblahlah,“短代码”:“Bk5z5Lgn1234”,blahblahblablha…,“短代码”:“Wuipsz5Lgn1234”,blahblahblablh…

我希望提取以下模式的所有子字符串:

“快捷码”:“Bk5z5Lgn1234”
“快捷码”:“Wuipsz5Lgn1234”

短代码的值,即
Bk5z5Lgn1234
Wuipsz5Lgn1234
,具有恒定长度(11个字符)。只需要获取值就可以了。如果获取所有出现的短代码值很复杂,那么只获取第一个值就足够了


我知道如何找到子字符串(使用扫描方法),但我不知道如何遍历字符串并提取短码值。

如果代码始终采用您指定的格式,且长度为11个字符,则此正则表达式将找到它们:

"shortcode":"(.{11})"
以下内容将返回所有匹配项:

text.scan(/"shortcode":"(.{11})"/)

诚然,这可能不是最有效的解决方案,但简单易用。用正则表达式解析HTML从来不是最好的主意。

你的问题不是很清楚。你能发布你正在提取的部分文本和你正在寻找的函数的预期结果吗?谢谢你的反馈。所以,我有一个类似的字符串:“blahblahblahblahSOMETEXTHERE”,shortcode:“Bk5z5Lgn1234”,blahblahblablhaSOMEMORETEXTHERE…,“shortcode:“Wuipsz5Lgn1234”,blahblahblablhevenmoretext”我想得到以下内容(可以是数组):[“Bk5z5Lgn1234”,“Wuipsz5Lgn1234”]如果您添加到目前为止尝试过的代码,可能会有所帮助,你正在搜索一个字符串以查找某些子字符串,但没有任何规则,至少你没有提到任何规则。这11个字符与正文的其余部分有何不同。文本中必须有一种模式,这些“短代码值”是通过这种模式出现的,这就是为什么我要求使用真正的字符串(文本),但你一直发布“blahblahblahsometexthere”。这看起来有点像JSON。它实际上是JSON吗?如果是这样,请将其解析为JSON,不要使用正则表达式。太棒了。效率足够高。非常感谢。