在下面的字符串中,我想获得153的修订号。这部分位于文本“Revision:153 \ n”旁边的字符串内。
string = "Path: blah\blah\nWorking Copy Root Path: blah\blah\nURL: blah\blah\nRelative URL: ^/README.txt\nRepository Root: blah\blah\nRepository UUID: 2d7234b632a-38239d-4384f-9ac3-c05286096652\nRevisio
n: 153\nNode Kind: file\nSchedule: normal\nLast Changed Author: user_name\nLast Changed Rev: 153\nLast Changed Date: 2014-11-27 11:38:21 +0530 (Thu, 27 Nov 2014)\nText Last Updated: 2014-11-27 12:
05:24 +0530 (Thu, 27 Nov 2014)\nChecksum: 7ecb9f79f244r4f996e637d6f23\n\n"
目前我这样做:
string.split('Revision').last.split('Node').first.chomp.gsub(': ','').to_i
哪个输出153
。
有没有更好的方法呢?
答案 0 :(得分:2)
您可以在此处使用String's []
和正则表达式:
string[/Revision:\s(\d+)/, 1]
答案 1 :(得分:1)
您可以使用正则表达式。 例如,如下所示:
string.scan(/Revision: (\d+)/)
澄清一点,如果你想捕捉多次出现,请使用它。