请问如何用python replace字符串中间多余的空格转换为一个空格

原始:

context = "hello      world  nice ok    done"

格式化以后

context = "hello world nice ok done"
阅读 13.5k
5 个回答

利用re模块正则处理

context = "hello      world  nice ok    done"
import re
out = re.sub(r"\s{2,}", " ", context)
print(out)

定义一个函数

def replaceAll(old, new, str):
    while str.find(old) > -1:
        str = str.replace(old, new)
    return str

然后调用

context = "hello      world  nice ok    done"
print replaceAll('  ', ' ',  context)

结果:

hello world nice ok done

要注意old和new不能相同,否则...请自己加个判断

我发现lz提了好多问题,并多次发布,且已解决了也不会关闭。恶意的猜想,这是为了省声望还是分值什么的?

可以从左到右扫描一个字符串,当发现一个空格,就将空格之后的字符串strip掉.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题