R - эквивалент функции pos - PullRequest
       2

R - эквивалент функции pos

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

У меня есть строка в R, которая выглядит примерно так:

File_ABC777_PatientId789.DATA

или может быть что-то вроде: File_ABC7878787_234_PatientId892.DATA

Я хочу извлечь часть строки, которая находится между "PatientId" и ".DATA" ... Как мне сделать это в R?В C # или других языках это действительно легко, и обычно это делается с помощью функции String POS ... Но я не могу найти подобную функцию в R ... какие-либо мысли?

Ура!MadSeb

Ответы [ 2 ]

4 голосов
/ 28 февраля 2012

Вы можете использовать ?sub:

x <- "File_ABC777_PatientId789.DATA"
sub(x=x, pattern="^.*PatientId([0-9]+).DATA$", replacement="\\1")
2 голосов
/ 28 февраля 2012

Я не уверен, какую функцию на других языках вы конкретно имеете в виду. Как упоминалось в sgibb, в R имеется множество функций типа regex.

Но если ваши строки всегда имеют одинаковый формат или шаблон, вы можете просто использовать substr, который просто берет строку, а также начальную и конечную позиции, которые вы хотите извлечь (или заменить).

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