我有一个字符串"ab b cde"
,即"ab[space]b[space]cde"
。我想用空格替换“space-b”和“space-c”,以便输出字符串为"ab[space][space][space][space]de"
。我无法弄清楚如何删除第二个“b”而不删除第一个“b”。我试过了:
gsub("[\\sb,\\sc]", " ", "ab b cde", perl=T)
但这给了我
"a[spaces]de"
。有指针吗?谢谢。编辑:考虑一个更复杂的问题:我想通过删除
"akui i ii"
和"akui[space]i[space]ii"
将字符串"akui[spaces|"
即"space-i"
转换为"space-ii"
。
最佳答案
您可以像这样使用lookbehind matching:
gsub("(?<=\\s)i+", " ", "akui i ii", perl=T)
编辑:回头看仍然是要走的路,并用原始帖子中的另一个示例进行了演示。希望这可以帮助。
关于regex - “gsub”如何处理空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274640/