我试图编写一个删除下划线的字符串清理器,但在数字之间(即,当字符串中有版本号时)用点替换它们。
1_1_OS_And_Network_Specific_Config
我希望这个字符串像
1.1 OS And Network Specific Config
我可以很容易地替换下划线,但我无法匹配数字之间的字符以替换为点。
\d_\d
似乎将两个数字与下划线匹配.. 但如果有三个,比如 3.4.1 它不会。
任何人都可以帮忙吗?
首先,替换数字之间的下划线:
subject = subject.gsub(/(?<=\d)_(?=\d)/, '.')
(?<=\d)
并且(?=\d)
是环视断言。
他们确保在 ( ) 之前(?<=\d)
和 ( (?=\d)
) 当前位置之后有一个数字,但它们实际上并没有成为匹配的一部分。
然后,删除其余的下划线:
subject = subject.gsub(/_/, ' ')