Сохраните последние 9 цифр буквенно-цифровой строки в R - PullRequest
4 голосов
/ 31 августа 2011

Пожалуйста, R-гуру, как мне сохранить последние 9 цифр буквенно-цифровой строки? например,

LA XAN 000262999444
РА XAN 000263000507
WA XAN 000263268038
SA XAN 000263000464
000263000463
000263000476

Я хочу только получить

262999444
263000507
263268038
263000464
263000463
263000476

Большое спасибо

Ответы [ 4 ]

6 голосов
/ 31 августа 2011

Это довольно просто в stringr, потому что sub_str интерпретирует отрицательные индексы как смещения от конца строки.

library(stringr)
str_sub(xx, -9, -1)
4 голосов
/ 31 августа 2011

Если вам нужны последние 9 позиций, вы можете просто использовать substr:

substr(xx,nchar(xx) - 8,nchar(xx))

, предполагая, что ваш символьный вектор хранится в xx.Кроме того, как отмечает Хэдли ниже, nchar вернет неожиданные вещи, если xx является фактором, а не символьным вектором.Его решение с использованием stringr определенно предпочтительнее.

2 голосов
/ 31 августа 2011

Предполагая, что входом является вектор с именем "strgs":

sub(".*(.........)$", "\\1", strgs)
#[1] "262999444" "263000507" "263268038" "263000464"

?sub
?regex
0 голосов
/ 31 августа 2011

Не совсем уверен, какой язык вы ищете, но здесь была бы реализация c #.

Логика будет выглядеть примерно так:

    string s = "WA XAN 000263268038";
    s = s.Substring(s.Length - 10, 9);

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...