【问题标题】:Match a character in string and add characters before and after matched string using R [closed]使用R匹配字符串中的字符并在匹配的字符串之前和之后添加字符[关闭]
【发布时间】:2017-12-01 00:30:48
【问题描述】:

我有一个随机字符串列表,例如kzyFw4hw8EOC/655,如果字符串具有/ 字符并且它确实在/ 之前和之后添加" 字符,我想匹配如下:

Before = kzyFw4hw8EOC/655
After = kzyFw4hw8EOC"/"655

【问题讨论】:

  • 您尝试了哪些方法,但没有成功?
  • 您的代码不会运行,因为字符串需要引号。从那里,标签很好:去阅读?gsub
  • 你的斜线需要双引号吗?如果不是,那么单引号似乎可以工作: gsub(pattern = "/", x = "kzyFw4hw8EOC/655", replacement = "'/'")
  • 谢谢@TravisHinkelman。我也想通了,它奏效了

标签: r regex gsub


【解决方案1】:

我修改了代码以将字符串包含在单引号中。 (R 需要对字符串使用单引号或双引号。我使用单引号是为了不必转义双引号。)

Before <- 'kzyFw4hw8EOC/655'
After <- 'kzyFw4hw8EOC"/"655'

使用基础 R:

gsub.method <- gsub('/', '"/"', Before)
gsub.method == After
# [1] TRUE

或使用来自tidydverse 的包stringr

library(stringr)
stringr.method <- str_replace(Before, '/', '"/"')
stringr.method == After
# [1] TRUE

【讨论】:

    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2013-12-28
    • 2019-09-03
    • 2021-04-17
    相关资源
    最近更新 更多