【问题标题】:Python remove spaces and appendPython删除空格并追加
【发布时间】:2011-06-09 08:15:11
【问题描述】:

我目前正在为 OS X 上的 emesene messenger 编写咆哮通知插件。除了显示消息 sn-p 时,它几乎可以工作。

消息作为变量传递给growlnotify,但是growl 不接受显示消息中的空格。

所以我需要一个脚本来删除多个单词之间的空格并将其替换为 \ 然后是空格。

例如 原文:这是一条消息 需要什么:this\is\a\ message

我查看了类似的答案,但我不知道如何附加斜线。

【问题讨论】:

  • 我刚刚意识到,如果消息包含任何反斜杠或其他转义序列,这将是一个大问题。即this\ message 将变为this\\ message 并且空间不会被转义。这就是为什么你应该听从@Ignacio 的建议。

标签: python string text growlnotify


【解决方案1】:

不要尝试使用os.system() 执行此操作,而是使用subprocess,将程序和参数作为列表传递。

【讨论】:

    【解决方案2】:

    只要使用字符串类的replace方法即可:

    message_string = "This is a message"
    print message_string.replace(" ", "\ ")
    

    返回:

    $ python test.py
    This\ is\ a\ message
    

    Python string.replace documentation

    【讨论】:

    • 还可以看看@Ignacio 的回答。这可能是解决您的问题的更合适的方法,并且总体上更安全。
    【解决方案3】:
    message = "This is a message"
    print message.replace( " ", "\ " )
    

    【讨论】:

      【解决方案4】:

      您可以使用字符串的replace 方法来做到这一点。

      【讨论】:

        【解决方案5】:

        每个人都在使用替换,所以这是另一个解决方案:

        print '\ '.join(message.split(' '))
        

        【讨论】:

        • 这将丢失多个空格,以及所有制表符和其他空格。
        • @Ignacio Vazquez-Abrams:不再。
        猜你喜欢
        • 1970-01-01
        • 2016-01-06
        • 2014-11-16
        • 2014-02-11
        • 1970-01-01
        • 1970-01-01
        • 2013-10-10
        • 1970-01-01
        • 2016-05-31
        相关资源
        最近更新 更多