Как мне сопоставить 10-символьную подстроку, начинающуюся с 'H', в более длинной строке с Ruby? - PullRequest
1 голос
/ 30 августа 2011

У меня есть следующая строка:

/Users/patelc75/Documents/code/haloror/dialup/H200000787_1313406125/H200000787_1313389058_1.xml

В Ruby, как извлечь первую 10-символьную подстроку, которая начинается с буквы H и содержит 9 цифр (только цифры) после H. В этом примере выше подстрока будет H200000787

Ответы [ 2 ]

8 голосов
/ 30 августа 2011

Строка # [] метод - это то, что вам нужно:

str = '/Users/patelc75/Documents/code/haloror/dialup/H200000787_1313406125/H200000787_1313389058_1.xml'

puts str[/H\d{9}/]     #=> H200000787
2 голосов
/ 30 августа 2011
irb(main):001:0> s = "/Users/patelc75/Documents/code/haloror/dialup/H200000787_1313406125/H200000787_1313389058_1.xml"
=> "/Users/patelc75/Documents/code/haloror/dialup/H200000787_1313406125/H200000787_1313389058_1.xml"
irb(main):002:0> s =~ /H\d{9}/
=> 46
irb(main):003:0> $&
=> "H200000787"
...