创建一个新列作为列表返回

Create a new column is returning as list

我有一个数据框。我需要删除“href”,因此我正在使用 str_match_all。但是删除“href”后,新列的 class 显示为列表。谁能帮帮我

asd <- data.frame(a = c("<a href=https://abc>Click Here</a>","sdsd","<a href=https://xvd>Click Here</a>"))
asd$ew <- str_match_all(asd$a, "http[s]{0,1}://[^ ]+")
asd
                                   a                ew
<a href=https://abc>Click Here</a>        https://abc>Click
                              sdsd                  
<a href=https://xvd>Click Here</a>        https://xvd>Click
class(asd$ew)
"list"

预期输出

class(asd$ew)
 "character"

使用as.character:

> asd$ew <- as.character(str_match_all(asd$a, "http[s]{0,1}://[^ ]+"))
> class(asd$ew)
[1] "character"
> 

使用 stringr::str_extract 代替 stringr::str_match_all

asd$ew <- stringr::str_extract(asd$a, "http[s]{0,1}://[^ ]+")
#asd$ew <- stringr::str_extract(asd$a, "https?://[^ ]+") #Alternative
class(asd$ew)
#[1] "character"

asd
#                                   a                ew
#1 <a href=https://abc>Click Here</a> https://abc>Click
#2                               sdsd              <NA>
#3 <a href=https://xvd>Click Here</a> https://xvd>Click