您可以尝试以下代码:
grep("\\w\\s\\w",sapply(paste0("(",top100$symbol,"$)"),
sub,"\\3 \\1",a<-markets$pairs),value = T)%>%
{.[match(a,sub("\\s","",.))]}%>%
strsplit(.,"\\s")%>%do.call(rbind,.)%>%
{setNames(as.data.frame(.),paste0("Symbols",1:2))}
您也可以尝试:
sub(paste0("(",top100$symbol,")$",collapse = "|"),"",a<-markets$pairs)%>%
{cbind.data.frame(Symbols1=.,Symbols2=sub(paste0("^(",.,")",collapse = "|"),"",a))}
上述两种代码均给出:
Symbols1 Symbols2
1 NEO BTC
2 EOS ETH
3 VEN ETH
4 ELF ETH
5 ICX ETH
6 BNB ETH
7 NEO ETH
8 TRX ETH
9 QTUM ETH
10 DASH ETH
11 XRP ETH
12 ETH USDT
13 LTC USDT
14 ADA ETH
15 XMR ETH
16 ZEC ETH
17 IOTA ETH
18 NEO USDT
19 BNB USDT
20 XLM BNB
21 LSK BNB