【发布时间】:2013-09-26 05:31:02
【问题描述】:
我想删除所有前导和尾随空格。以及用字符串中的单个空格替换多个空格,以便字符串中的所有单词都由单个空格完全分隔。
我可以使用以下两次正则表达式迭代并寻找 single regex 解决方案来实现这一点。
s/^\s+|\s+$//g
s/\s+/ /g
示例输入:
word1 word2 word3 word4
期望的输出:
word1 word2 word3 word4
如果您能帮我解决这个问题,将不胜感激。
【问题讨论】:
-
@alfasin 我认为他正在使用 sed,所以 bash 是我的猜测。
-
@alfasin 任何语言都可以。我正在寻找一般的正则表达式。在 perl 中实现
-
@SilviuBurcea s///g 也适用于 perl。赛德也不错。我只是在寻找正确的方法。
-
嗯,看来杰瑞已经解决了“中间”的情况。我不确定是否可以将“some”
\s*替换为空字符串,而将其他\s*替换为单个空格 - 使用相同的 正则表达式,但如果可行的话 - 我会喜欢看到答案(用 2-3 个正则表达式分别解决它们不是挑战吗?:))