我有一个字符串。我想(a)将“/”保留在分数中,(b)在单词之间插入“/”周围的空格,以及(c)删除所有其他“/”。
s = "/// // / 1/2 111/222 a/b abc/abc a / b / // ///"
结果应如下。
s = "1/2 111/222 a b abc abc a b"
我尝试了一些事情。我无法把一切都弄好。
答案 0 :(得分:2)
我不是正则表达式专家,但这似乎适用于您的示例。
s = "/// // / 1/2 111/222 a/b abc/abc a / b / // ///"
i <- gsub("/{2,}|/\\s", "", s)
i <- trimws(gsub("([[:alpha:]]{1,})(/)([[:alpha:]]{1,})", "\\1 \\3", i))
i <- gsub("\\s{2,}", " ", i)
identical(i, "1/2 111/222 a b abc abc a b")
[1] TRUE