【问题标题】:How to drop string after certain point in all elements of list? [duplicate]如何在列表的所有元素中的某个点之后删除字符串? [复制]
【发布时间】:2018-06-24 21:19:10
【问题描述】:

我有一个大字符串存储在一个列表中。我只需要提取 URL 并转储其余的字符串。我该怎么做?我只需要粗体字,对于列表中的每个元素,? 是我要捕获 URL 的截止点。我不确定这是否也会让“u”消失。

lst =[u'https://images.com/candles.jpg?asdkfasdkfihawklwie']

只是想强调我想删除问号之后的所有内容,包括列表中每个元素的问号本身。只需要网址。

提前谢谢你。

【问题讨论】:

    标签: python


    【解决方案1】:

    splitlist comprehension 一起使用:

    L = [x.split('?', 1)[0] for x in lst]
    

    正如@Martijn Pieters 所说,使用partition 更快:

    L = [x.partition('?')[0] for x in lst]
    

    【讨论】:

    • 否,使用str.partition(),单次拆分更快。或者至少限制拆分的数量。或者,在这种情况下,使用 URL 解析器来删除 URL 组件。
    • @MartijnPieters 我将在哪里插入'str.partition()'
    猜你喜欢
    • 2021-03-06
    • 2022-07-06
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2017-01-04
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多