相关疑难解决方法(0)

正则表达式仅用于替换括号外的特定字符

我正在寻找正则表达式(最好是 in R),它可以用 say 替换(任意数量的)特定字符;say;;但仅当文本字符串内的括号内不存在()

注意: 1. 括号内也可能存在多个替换字符

2.数据/向量中没有嵌套括号

例子

  • text;othertext 替换为 text;;othertext
  • text;other(texttt;some;someother);more要替换为text;;other(texttt;some;someother);;more. (即;仅在外部()被替换文本替换)

如果需要澄清,我会尝试解释

in_vec <- c("abcd;ghi;dfsF(adffg;adfsasdf);dfg;(asd;fdsg);ag", "zvc;dfasdf;asdga;asd(asd;hsfd)", "adsg;(asdg;ASF;DFG;ASDF;);sdafdf", "asagf;(fafgf;sadg;sdag;a;gddfg;fd)gsfg;sdfa")

in_vec
#> [1] "abcd;ghi;dfsF(adffg;adfsasdf);dfg;(asd;fdsg);ag"
#> [2] "zvc;dfasdf;asdga;asd(asd;hsfd)"             
#> [3] "adsg;(asdg;ASF;DFG;ASDF;);sdafdf"           
#> [4] "asagf;(fafgf;sadg;sdag;a;gddfg;fd)gsfg;sdfa"
Run Code Online (Sandbox Code Playgroud)

预期输出(手动计算)

[1] "abcd;;ghi;;dfsF(adffg;adfsasdf);;dfg;;(asd;fdsg);;ag" 
[2] "zvc;;dfasdf;;asdga;;asd(asd;hsfd)"             
[3] "adsg;;(asdg;ASF;DFG;ASDF;);;sdafdf"            
[4] "asagf;;(fafgf;sadg;sdag;a;gddfg;fd)gsfg;;sdfa"
Run Code Online (Sandbox Code Playgroud)

regex r string-substitution gsub

7
推荐指数
1
解决办法
263
查看次数

用于替换 dyplr 工作流程中字符串内括号内的非数字字符的正则表达式

我的问题在某种程度上与一个已经回答的问题需要使用 R 从字符串列中提取单个字符有关

我尝试用我的知识解决这个问题,并且需要知道如何删除字符串中括号中的非数字字符:`

这是带有列的数据框x

  team     linescore     ondate                                     x
1  NYM     010000000 2020-08-01             0, 1, 0, 0, 0, 0, 0, 0, 0
2  NYM (10)1140006x) 2020-08-02 (, 1, 0, ), 1, 1, 4, 0, 0, 0, 6, x, )
3  BOS     002200010 2020-08-13             0, 0, 2, 2, 0, 0, 0, 1, 0
4  NYM  00000(11)01x 2020-08-15    0, 0, 0, 0, 0, (, 1, 1, ), 0, 1, x
5  BOS        311200 2020-08-20                      3, 1, 1, 2, …
Run Code Online (Sandbox Code Playgroud)

regex r dplyr

3
推荐指数
1
解决办法
98
查看次数

标签 统计

r ×2

regex ×2

dplyr ×1

gsub ×1

string-substitution ×1