【发布时间】:2019-11-08 17:28:51
【问题描述】:
我有一个文本文件,它包含逗号分隔的字符串。但是一些用逗号分隔的字符串是[*,*,*,...] 的形式。比如:
“你好”、“再见”、[“是”、“否”、“也许]、“确实”、[“为什么”、“什么”]
我希望能够解析文件以仅用分号替换方括号内的逗号。括号内可以有任意数量的括号和任意数量的逗号。
我尝试在 R 中使用此代码,但它没有按计划工作,括号外的一些逗号正在被替换:
repeat{
tmp <- gsub("(\\[.*\\K),(?=.*\\])", ";", tmp, perl = TRUE) # replace last comma found within braces with semicolon
if (sum(grepl("(\\[.*\\K),(?=.*\\])", tmp, perl = TRUE)) == 0) { # repeat until no more commas found
break
}
}
谁能帮助解决这个问题的正则表达式?谢谢!
【问题讨论】:
-
这是一个字符串吗