用grep替换R中的“Q”和“Q”

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

如何使用grep将H中的第10个字母HsdkjnsjsHlk$mH替换为R中的Q

s="HsdkjnsjsHlk$mH"
r grep
2个回答
4
投票

我们可以使用gsub

gsub("H", "Q", s)
#[1] "QsdkjnsjsQlk$mQ"

或者在chartrbase R

chartr("H", "Q", s)
#[1] "QsdkjnsjsQlk$mQ"

1
投票

从问题中不清楚是否要根据它是第10个字母来选择它,如果它总是“H”,或者它是依赖于上下文(周围的字母)。

但是这会在这个例子中做到:

gsub("sHl", "sQl", s)

如果它总是排在第10位并且你总是希望Q放在那里,那么这会更有活力:

gsub('^(.{9}).', '\\1Q', s)

如果您只想在第10个字符为H时替换它,则:

gsub('^(.{9})H', '\\1Q', s)
© www.soinside.com 2019 - 2024. All rights reserved.