I manually entered the data in my first example because you did not provide any data structure to work with. I have taken the data from your last post and made a text file from it, separating the columns with semicolons. You may obtain your data in some other way. Starting from the point where the data have been read into a data frame named DF, my previous code provides most of what you want. I have added a step to put explicit "variant 1" values in rows where no variant is listed.
library(stringr)
library(dplyr)
DF <- read.csv("~/R/Play/Dummy.csv", sep = ";", stringsAsFactors = FALSE)
DF
#> Code
#> 1 NM_013485
#> 2 NM_001034878
#> 3 NM_177364
#> 4 NM_009437
#> 5 NM_001098810
#> 6 NM_001039684
#> 7 NM_183034
#> 8 NM_133807
#> 9 NM_144824
#> 10 NM_010271
#> 11 NM_001364769
#> 12 NM_177752
#> Desc
#> 1 complement component 9 (C9), mRNA.
#> 2 dynein, axonemal, intermediate chain 2 (Dnaic2), mRNA.
#> 3 SH3 and PX domains 2B (Sh3pxd2b), mRNA.
#> 4 thiosulfate sulfurtransferase, mitochondrial (Tst), mRNA.
#> 5 peptidyl-tRNA hydrolase 2 (Ptrh2), transcript variant 2, mRNA.
#> 6 Meckel syndrome, type 1 (Mks1), mRNA.
#> 7 pleckstrin homology domain containing, family M (with RUN domain) member 1 (Plekhm1), mRNA.
#> 8 leucine rich repeat containing 59 (Lrrc59), mRNA.
#> 9 WD repeat containing, antisense to Trp53 (Wrap53), transcript variant 1, mRNA.
#> 10 glycerol-3-phosphate dehydrogenase 1 (soluble) (Gpd1), mRNA.
#> 11 WD repeat containing, antisense to Trp53 (Wrap53), transcript variant 2, mRNA.
#> 12 essential meiotic structure-specific endonuclease 1 (Eme1), mRNA.
DF2 <- mutate(DF, Code = NULL, Symbol = str_extract(Desc, "(?<=\\().+(?=\\))"),
Variant = str_extract(Desc, "variant \\d+"), Desc = NULL)
DF2 <- mutate(DF2, Variant = ifelse(is.na(Variant), "variant 1", Variant))
DF2
#> Symbol Variant
#> 1 C9 variant 1
#> 2 Dnaic2 variant 1
#> 3 Sh3pxd2b variant 1
#> 4 Tst variant 1
#> 5 Ptrh2 variant 2
#> 6 Mks1 variant 1
#> 7 with RUN domain) member 1 (Plekhm1 variant 1
#> 8 Lrrc59 variant 1
#> 9 Wrap53 variant 1
#> 10 soluble) (Gpd1 variant 1
#> 11 Wrap53 variant 2
#> 12 Eme1 variant 1
Created on 2020-05-30 by the reprex package (v0.3.0)