Как мне разобрать последнюю часть строки рубина? - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть эта строка

location = '\\dev-something-again-n2\Staples\Started\477'
location = '\\dev-something-again-n2\Staples\Started\477\'

и мне нужно вытащить 477 из него ... есть идеи, как сделать это хорошо ... я пытался

location.partition("\")

но ничего не получил ....

Ответы [ 3 ]

4 голосов
/ 20 февраля 2012
location.split('\\').last

partition здесь не правильный инструмент - он разделяется на строку один раз, а не на все найденные места, как задокументировано:

partition(sep) => [head, sep, tail] click to toggle source
Searches the string for sep and returns the part before it, the sep, and the part after it. If sep is not found, returns str and two empty strings. If no argument is given, Enumerable#partition is called.

split - правильный инструмент для работы, если вы хотите сделать это, разбив содержимое на части.

1 голос
/ 20 февраля 2012

Попробуйте использовать:

File.split(location).last

или

File.basename(location)
0 голосов
/ 21 февраля 2012
location.chomp('\\').match(/(?:.*\\)(.*)/)[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...