如何在R中删除带有异常的字符串?

时间:2017-02-05 10:05:27

标签: r regex gsub

我有一个字符串。我想(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"

我尝试了一些事情。我无法把一切都弄好。

1 个答案:

答案 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