取代" H"与" Q"在R中使用grep

时间:2018-03-06 09:55:40

标签: r grep

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

s="HsdkjnsjsHlk$mH"

2 个答案:

答案 0 :(得分:4)

我们可以使用gsub

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

chartr

中的base R
chartr("H", "Q", s)
#[1] "QsdkjnsjsQlk$mQ"

答案 1 :(得分:1)

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

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

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

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

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

如果你只想在第10个字符是H时替换它,那么:

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