[英]Remove square brackets that don't have spaces between them
我正在尝试删除方括号之间没有空格的地方,但要保留有方括号的地方。 例如:
[
请]
[
帮助我]
注意:我只想匹配括号,而不要匹配内容。
我认为我需要使用向前看,例如\\\\[(?!= )
。 但是,这只能向前看下一个字符,而我想检查一下方括号之间的所有字符都不是空格。 在这种情况下该怎么办?
新版本的stringr
可能对您有用,它有一个不错的小部件来测试regex
匹配。
stringr::str_view_all(c("[please]", "[help me]"), "(\\[)\\S*(\\])")
使用[
和]
作为捕获组匹配[
,然后是任意数量的非空格字符,然后是]
。 我不确定您想对他们做什么。
更新:要删除方括号,您实际上要捕获其中的内容,然后用它替换。
stringr::str_replace_all(c("[please]", "[help me]"), "\\[(\\S*)\\]", "\\1")
#> [1] "please" "[help me]"
(捕获方括号之间的所有非空格字符,并将整个字符串替换为找到的捕获内容)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.