Опцией является sub
для захвата цифр, за которыми следует точка (\\d+\\.
) в начале (^
) строки, а затем символы после «Peracarida», за которым следует один или несколько пробелов (\\s+
).При замене используйте обратную ссылку (\\1
, \\2
) захваченной группы
sub("^(\\d+\\.).*\\sPeracarida\\s+(.*)$", "\\1\\2", str1)
#[1] "1.Thermosphaeroma subequalum" "2.Betamorpha africana"
#[3] "3.Scutuloidea maculata"
ПРИМЕЧАНИЕ. Здесь мы предполагаем, что ОП тоже хотел выбрать номер в начале.Если это не нужно, просто сделайте
sub(".*\\bPeracarida\\s*", "", str1)
#[1] "Thermosphaeroma subequalum" "Betamorpha africana"
#[3] "Scutuloidea maculata"
data
str1 <- c("1.KU189316.1.2308 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Thermosphaeroma subequalum",
"2.EU414446.1.2220 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Betamorpha africana",
"3.JF699592.1.2323 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Scutuloidea maculata"
)