如何按位置替换字符串的一部分

时间:2021-07-14 09:39:23

标签: r

我有一个看起来像这样的字符串:

Jun:2020,XXX/XXX|May:2020,035/XXX|Apr:2020,040/XXX|

我只想用 000 替换从位置 10 开始的第一次出现的 XXX。

2 个答案:

答案 0 :(得分:0)

如果您知道确切的开始和停止位置,那么 substr 就可以完成这项工作

String <- "123456789"
substr(String, start = 4, stop = 6) <- "XXX"
print(String)

这将替换位置 4 到 6 并导致

> print(String)
[1] "123XXX789"

同样适用

str <- "Jun:2020,XXX/XXX|May:2020,035/XXX|Apr:2020,040/XXX|"
substr(str, 10, 12) <- "000"
str

答案 1 :(得分:0)

另一个选项是 sub,如果您不确定第一个 XXX 是否总是从位置 10 开始:

sub("XXX", "000", "Jun:2020,XXX/XXX|May:2020,035/XXX|Apr:2020,040/XXX|")
# [1] "Jun:2020,000/XXX|May:2020,035/XXX|Apr:2020,040/XXX|"
相关问题