gpt4 book ai didi

r - 如何替换字符串中的内部大写字母

转载 作者:行者123 更新时间:2023-12-04 09:42:51 27 4
gpt4 key购买 nike

我有一系列字符串,如下所示:

vec<-c("Peronospora boniNhenrici","Cystoseira abiesNmarina","Niplommatina rubra",
"Padina sanctaeNcrucis","Nachygrapsus NaurusNliguricus","Melphidippa borealis")

我想用“-”替换每个元素的第二个单词中的内部大写“N”,以便它:
("Peronospora boni-henrici","Cystoseira abies-marina","Niplommatina rubra",
"Padina sanctae-crucis,"Nachygrapsus Naurus-liguricus","Melphidippa borealis")

有什么建议?我有使用以下位置的位置:
stri_locate_all(vec,regex = "[N]")

但我不确定如何替换内部的“N”。当我尝试使用 gsub 替换大写字母“N”时,它会替换所有出现的 N,而不仅仅是内部的“N”。

最佳答案

我们可以寻找任何被 \w 包围的 N。 , 在正则表达式中匹配任何字母数字字符或下划线。如果这太宽泛,您可以替换 \w[a-zA-Z]只匹配字母:

stringr::str_replace_all(vec, "(\\w)N(\\w)", "\\1-\\2")

关于r - 如何替换字符串中的内部大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58108025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com