如何替换某个字符的所有出现,但如果该字符是字符串中的第一个字符则不替换?

问题描述 投票:0回答:1

我有以下向量

c(“AXX”,“XAX”,“XXA”)

我想将所有“A”替换为“B”,但如果“A”位于字符串的开头则不行,所以我想得到 c("AXX", "XBX", "XXB")

r stringr
1个回答
2
投票

使用否定的起始锚点:

gsub("(?!^)A", "B", x, perl=TRUE)
##[1] "AXX" "XBX" "XXB"

library(stringr)
str_replace(x, "(?!^)A", "B")
##[1] "AXX" "XBX" "XXB"
© www.soinside.com 2019 - 2024. All rights reserved.