Ruby Cucumber 修剪字符串 Cucumber 中的前导零
Ruby Cucumber trimming leading zero from string Cucumber
我正在尝试在以前导零开头的字段中输入数字。输入此数字后,将删除前导零。
预期:000632
实际:632
这些是较长数字的最后 6 位数字,所以我需要那里的零。
使用此数字的参数已转换为字符串,但仍在删除零。
我的 env 文件中确实有一个转换块,可以自动将数字转换为整数:
Transform /^\d+$/ do |number|
number.to_i
end
尽管用于我的字符串的正则表达式是 ([^"]*/)
看起来 Transform 块正在干扰。有没有解决的办法?我不是 Regex 大师 :-)
谢谢
检查转换块是否与测试步骤中提取的每个匹配项匹配。因此,字符串“000632”与您发布的转换相匹配,您将获得提取的整数而不是想要的字符串。如果你想防止以 0 开头的数字串匹配,你需要将转换正则表达式更改为
Transform /^[1-9]\d*$/ do |number|
number.to_i
end
这将只匹配以 1-9 开头的数字串
我正在尝试在以前导零开头的字段中输入数字。输入此数字后,将删除前导零。
预期:000632
实际:632
这些是较长数字的最后 6 位数字,所以我需要那里的零。
使用此数字的参数已转换为字符串,但仍在删除零。
我的 env 文件中确实有一个转换块,可以自动将数字转换为整数:
Transform /^\d+$/ do |number|
number.to_i
end
尽管用于我的字符串的正则表达式是 ([^"]*/)
看起来 Transform 块正在干扰。有没有解决的办法?我不是 Regex 大师 :-)
谢谢
检查转换块是否与测试步骤中提取的每个匹配项匹配。因此,字符串“000632”与您发布的转换相匹配,您将获得提取的整数而不是想要的字符串。如果你想防止以 0 开头的数字串匹配,你需要将转换正则表达式更改为
Transform /^[1-9]\d*$/ do |number|
number.to_i
end
这将只匹配以 1-9 开头的数字串