Kon*_*rad 5 regex replace r punctuation gsub
我正在使用以下格式的字符向量:
[-0.2122,-0.1213)
[-0.2750,-0.2122)
[-0.1213,-0.0222)
[-0.1213,-0.0222)
Run Code Online (Sandbox Code Playgroud)
我想删除[,)所以我可以获得所需的结果:
-0.2122,-0.1213
-0.2750,-0.2122
-0.1213,-0.0222
-0.1213,-0.0222
Run Code Online (Sandbox Code Playgroud)
我想在语法的路线上捕获第一组和第二组:
[[^\[{1}(?![[:digit:]])\){1}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用,(regex101).
代码:[[:punct:]]将捕获所有标点符号regex101.
然后我尝试匹配这两组:(\[)(\))但是,再次,不缺乏regex101.
通过应用gsub两次或使用包中的multigsub可用性可以很容易地解决问题,qdap但我有兴趣通过一个表达式来解决这个问题.
您可以尝试在 Perl 风格的正则表达式中使用向前查找和向后查找。
x <- scan(what = character(),
text = "[-0.2122,-0.1213)
[-0.2750,-0.2122)
[-0.1213,-0.0222)
[-0.1213,-0.0222)")
regmatches(x, regexpr("(?<=\\[).+(?=\\))", x, perl = TRUE))
# [1] "-0.2122,-0.1213" "-0.2750,-0.2122" "-0.1213,-0.0222" "-0.1213,-0.0222"
Run Code Online (Sandbox Code Playgroud)