Как получить любую строку, которую мы хотим? - PullRequest
0 голосов
/ 14 декабря 2018

Строка, как показано ниже:

s <- "12N10-3A 12N10-3A-1 12N10-3A-2 YB10L-A2"

Я могу получить строки, кроме как со второй.

gsub("\\s.*","",s) #12N10-3A
gsub(".*\\s","",s) #YB10L-A2
gsub(".*\\s.*\\s(.*).*\\s(.*)","\\1",s) #12N10-3A-2

Как получить вторую строку из s и какой короткий подходдля каждой строки кода?Я попробовал то, что узнал на regex101.com

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Мы можем использовать stri_extract_last от stringi

library(stringi)
stri_extract_last(s,  regex = '\\S+')
#[1] "YB10L-A2"

Или использовать word от stringr

library(stringr)
word(s, 4)
#[1] "YB10L-A2"
0 голосов
/ 14 декабря 2018

Просто используйте strsplit:

items <- strsplit(s, "\\s+")[[1]]

Если вы хотите получить доступ к последнему элементу, просто используйте:

items[4]

[1] "YB10L-A2"

Если вы действительно хотите выделить последний член, используяsub, тогда вот один из способов:

sub(".*\\s+", "", s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...