使用gsub删除多个空格和尾随空格

Rco*_*ter 6 regex r gsub

如何仅使用1 gsub删除多个空格和尾随空格?我已经完成了这个功能trim <- function(x) gsub(' {2,}',' ',gsub('^ *| *$','',x)),但我只想用1 gsub重写它.

实际上,我希望精益如何匹配基于gsub之后/之前的内容.在这个例子中,我需要匹配前面有一个空格的所有空格,并用''替换它们

Jos*_*ber 12

使用正向lookbehind来查看当前空格是否以空格开头:

^ *|(?<= ) | *$
Run Code Online (Sandbox Code Playgroud)

请在此处查看:http://regex101.com/r/bJ1mU0

  • 为了完整性(我的答案编辑被拒绝),这里是完整的函数:`trim < - function(x)return(gsub("^*|(?<=)|*$","",x,perl = T) )` (9认同)
  • 请给出一个很好的理由,说明为什么你不在r的背景下回答这个问题.所有的正则表达式都不一样; 你需要在所要求的背景下定制你的答案.@MaxGhenis为你完成了所有的工作,只需将它添加到你的答案中,这是没有用的 (4认同)
  • 看起来@ rawr的编辑包括我的功能被批准,然后Joseph Silber重新编辑它以删除它.是什么赋予了?如果您想提供一般的正则表达式解决方案,请添加单独的问题,否则请遵守OP的R标记并提供R解决方案. (4认同)