【问题标题】:Parsing domain from Slack message从 Slack 消息中解析域
【发布时间】:2021-07-07 01:31:44
【问题描述】:

从 Slack 消息中解析域的最佳方法是什么?我有一个 Slack 机器人,用于对提供的任何主机名执行查找。当机器人从 Slack 接收到有效负载时,域的格式为:<http://example.com|example.com>。对于这个应用程序,我只需要example.com

解析这个的一种方法是使用“|”分割字符串字符并删除“”字符并简单地使用第二个元素。

msg = slack_response
strip1 = msg.replace(">", "")
strip2 = strip1.replace("<", "")

str_arr = strip2.split("|")

domain = str_arr[1]

有没有更好的方法/库可以用来解析域?机器人并不总是会收到一个域,它有时也可以是 IP 的形式,例如8.8.8.8。我更愿意以可以同时处理这两种情况的方式执行此操作。

【问题讨论】:

    标签: python python-3.x slack


    【解决方案1】:

    您可以使用正则表达式,但由于 slack 的响应是可以预测的,我认为这可能有点矫枉过正。

    如果你想要一个班轮,你可以做

    msg.split("|")[-1][:-1]
    

    但是,因为可读性很重要,我会推荐类似的东西

    start = msg.find("|") + 1
    stop = msg.find{">")
    domain = msg[start:stop]
    

    【讨论】:

      【解决方案2】:

      这应该可行:

      msg.replace('>', '').split('|')[1]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-11
        • 2019-02-28
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        • 2010-11-05
        相关资源
        最近更新 更多