【问题标题】:How to replace part of a string by position [duplicate]如何按位置替换字符串的一部分[重复]
【发布时间】:2021-09-23 06:57:03
【问题描述】:

我有一个如下所示的字符串:

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

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

【问题讨论】:

标签: r


【解决方案1】:

另一个选项是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|"

【讨论】:

    【解决方案2】:

    如果您知道确切的开始和停止位置,那么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
    

    【讨论】:

      猜你喜欢
      • 2011-06-28
      • 2016-07-24
      • 2015-12-07
      • 2016-09-22
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2022-07-18
      相关资源
      最近更新 更多