【发布时间】:2019-08-11 08:30:56
【问题描述】:
我有几个字符串,如下所示:
> TstStr <- c("Carnivora, Caniformia, Canidae (dog, coyote, wolf, fox), Canis, Canis lupus (Gray wolf), Canis lupus familiaris (Dog) (Canis familiaris)")
> TstStr
[1] "Carnivora, Caniformia, Canidae (dog, coyote, wolf, fox), Canis, Canis lupus (Gray wolf), Canis lupus familiaris (Dog) (Canis familiaris)"
如果括号内的逗号和空格同时出现,我想仅用美元符号替换它们,最好使用
stringr:str_replace_all(或类似的东西)。所以我希望输出看起来像这样:
> TstStr
[1] "Carnivora, Caniformia, Canidae (dog$coyote$wolf$fox), Canis, Canis lupus (Gray wolf), Canis lupus familiaris (Dog) (Canis familiaris)"
我不知道这种情况下的正则表达式应该是什么样子,因为我对正则表达式的了解是初级的。我试过str_match_all(Tstr, "(?<=\\()(?:[:alpha:]*)\\,\\s(?:[:alpha:]*)(?=\\))") 但这不起作用(显然)。任何指针将不胜感激。
【问题讨论】:
-
@NelsonGon 逗号必须替换为美元符号。
-
@NelsonGon 抱歉措辞不好,我会改正的。编辑:我看到它已被修复。谢谢!