推 Gjerry: 可以試試看用 % 符號來切割字串,再找你要的字串片段。另 11/21 03:31
→ Gjerry: 外可以試著去查 regular expression ,以及grep 等 funct 11/21 03:31
→ Gjerry: ions,或是 stringr package 的用法 11/21 03:31
推 cywhale: y <-regexpr('%3Dlink-(?:[a-zA-Z0-9\\-]+)%2F[0-9]+',x) 11/21 19:38
→ cywhale: y值156 你打y還會顯示attr(,"match.length") 27 11/21 19:39
→ cywhale: 或者attributes(y)$match.length得到27 總長度 另外這裡 11/21 19:40
→ cywhale: 用了兩個'飾詞't1<-nchar('%3Dlink-')為8 %2F為3設給t2 11/21 19:43
→ cywhale: 啊要分兩次t<-regexpr('%3Dlink-(?:[a-zA-Z0-9\\-]+)%',x 11/21 19:48
→ cywhale: substr(x, t+t1, t+attributes(t)$match.length-2)會得到 11/21 19:51
→ cywhale: "202010-happy" 一樣抓它的長度t3<-nchar(...) 得到12 11/21 19:53
→ cywhale: substr(x, y+attributes(t)$match.length+nchar(t2)+1, 11/21 19:56
→ cywhale: y+attributes(y)$match.length-1) 就會抓到'1234' 11/21 19:57
→ cywhale: 抱歉一邊寫用不到t3但要分兩次,或抓一次用%2F做strsplit 11/21 20:00
推 chuubbyy: str1 <- str_extract(string, '(?<=%3Dlink-).+(?=%2F)' 11/22 00:30
→ chuubbyy: ) 11/22 00:30
→ chuubbyy: str2 <- str_extract(string, paste0('(?<=', str1, '%2 11/22 00:30
→ chuubbyy: F).+(?=&)')) 11/22 00:30