我试图去掉这个字符串中的整数,但保留浮点数。我在网上试用了下面的正则表达式,并突出显示了正确的部分,但在使用gsub时没有任何效果
tops = "17500 dw.sapAGZ_D00 pf=/usr/sap/A 8.0 17488 dw.sapAGZ_D00 pf=/usr/sap/A 7.1 17489 dw.sapAGZ_D00 pf=/usr/sap/A 7.0 17493 dw.sapAGZ_D00 pf=/usr/sap/A 5.9 17490 dw.sapAGZ_D00 pf=/usr/sap/A 5.7 17495 dw.sapAGZ_D00 pf=/usr/sap/A 5.4 17499 dw.sapAGZ_D00 pf=/usr/sap/A 5.0 17480 dw.sapAGZ_D00 pf=/usr/sap/A 4.3 17492 dw.sapAGZ_D00 pf=/usr/sap/A 4.0"
tops.gsub(/(?<=\s|^)\d+(?=\s|$)/, '--- ')
puts tops ;
1条答案
按热度按时间bvuwiixz1#
您的搜索模式很好(对于特定的输入-例如,我想它不会正确地处理负整数),但是
gsub
只是不更改接收器(原始字符串)-它返回一个包含所有替换的新接收器。所以要么使用
gsub!
或者,如果还需要原始变量,请将字符串重新指定给另一个变量。