如何在Rails中无需指定索引,从指定关键词提取目标字符串
Rails提取指定关键词后的对应数值方法
你可以通过正则表达式的捕获组功能,无需手动计算索引就能提取目标数值,以下是两种常用实现方式:
方法一:使用match方法
# 匹配关键词及后续数值,捕获数值部分 match_data = @article.description.match(/Número de muestra:\s*(\S+)/) # 提取捕获到的数值,避免匹配失败时出现nil错误 sample_number = match_data[1] if match_data
- 正则说明:
\s*:匹配关键词后可能存在的任意数量空白字符(空格、制表符等)(\S+):捕获一个或多个非空白字符,正好对应你需要的0569.1这类数值
方法二:使用scan方法
如果需要处理可能存在的多个匹配场景,或者想更简洁地获取结果:
sample_number = @article.description.scan(/Número de muestra:\s*(\S+)/).flatten.first
scan会返回所有匹配的捕获组数组,flatten将二维数组转为一维,first取第一个匹配的数值
内容的提问来源于stack exchange,提问作者Ezio Auditore
相关产品推荐
相关产品推荐

