gpt4 book ai didi

正则表达式匹配以非空格为界的逗号

转载 作者:行者123 更新时间:2023-12-04 10:47:49 27 4
gpt4 key购买 nike

我试图用空格替换以非空格为界的逗号,同时保持其他逗号不变(在 R 中)。

想象一下我有:

j<-"Abc,Abc, and c"

而且我要:
"Abc Abc, and c"

这几乎有效:
gsub("[^ ],[^ ]"," " ,j)

但它删除了逗号两侧的字符以给出:
"Ab bc, and c"

最佳答案

您可以使用 PCRE 正则表达式与负面的后视和前瞻:

j <- "Abc,Abc, and c"
gsub("(?<!\\s),(?!\\s)", " ", j, perl = TRUE)
## => [1] "Abc Abc, and c"

regex demo

详情 :
  • (?<!\\s) - 在 , 之前不能有空格
  • , - 文字 ,
  • (?!\\s) - , 后面不能有空格

  • 另一种解决方案是匹配 ,用单词边界包围:
    j <- "Abc,Abc, and c"
    gsub("\\b,\\b", " ", j)
    ## => [1] "Abc Abc, and c"

    another R demo .

    关于正则表达式匹配以非空格为界的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42531997/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com