Ruby入门者求助:如何快速从字符串中提取前两个数字?
提取字符串中的指定数字
针对字符串 5.16.0.0-15,给你两种适合入门的简单方法:
方法一:分割字符串
利用 split 方法按分隔符拆分字符串,再直接取对应位置的元素:
str = "5.16.0.0-15" parts = str.split(/[.-]/) # 按点或横杠分割,得到数组 ["5", "16", "0", "0", "15"] first_num = parts[0].to_i # 转成整数 5 second_num = parts[1].to_i # 转成整数 16
如果不需要转成整数,直接取 parts[0] 和 parts[1] 即可。
方法二:正则表达式匹配
用正则捕获组直接提取目标数字:
str = "5.16.0.0-15" match_result = str.match(/^(\d+)\.(\d+)/) first_num = match_result[1].to_i # 5 second_num = match_result[2].to_i # 16
这个正则的逻辑是:从字符串开头匹配第一个连续数字组((\d+)),接着匹配一个点,再匹配第二个连续数字组,最后提取这两个捕获组的内容。
内容的提问来源于stack exchange,提问作者m7xtuf
相关产品推荐
相关产品推荐

