You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新修改域名数组列表:移除协议前缀并替换特定URL

问题描述

我有一组域名列表,示例如下:

exist = ['http://sushiblast.com', 'http://funnyvideos-funny.info', 'https://youtube.com','https://api.forms.app/user/infobyname/minecraft']

之前试过用下面的Python代码移除HTTPS前缀,但代码只针对单个字符串有效,放到数组上就失效了:

input_str = exist
   
# Printing original string  
print ("Original string: " + input_str) 
   
result_str = "" 
   
for i in range(5, len(input_str)): 
    if i != 1: 
        result_str = result_str + input_str[i] 
   
# Printing string after removal   
print ("String after removal of i'th character : " + result_str)

现在需要实现两个需求:

  • 移除数组里所有URL的http://和https://前缀
  • 把特定URL https://api.forms.app/user/infobyname/minecraft 修改为 my.forms.apps/minecraft
解决方案

直接遍历数组里的每个URL,逐个处理就能解决问题,下面是两种实现方式:

方式一:普通循环处理

exist = ['http://sushiblast.com', 'http://funnyvideos-funny.info', 'https://youtube.com','https://api.forms.app/user/infobyname/minecraft']
processed_urls = []

for url in exist:
    # 先处理特殊URL的替换
    if url == 'https://api.forms.app/user/infobyname/minecraft':
        processed_urls.append('my.forms.apps/minecraft')
        continue
    # 移除http或https前缀
    if url.startswith('https://'):
        processed_urls.append(url[8:])  # 从第8个字符开始截取,跳过https://
    elif url.startswith('http://'):
        processed_urls.append(url[7:])  # 从第7个字符开始截取,跳过http://
    else:
        # 没有前缀的URL直接保留
        processed_urls.append(url)

# 输出处理后的结果
print(processed_urls)

运行后输出:

['sushiblast.com', 'funnyvideos-funny.info', 'youtube.com', 'my.forms.apps/minecraft']

方式二:列表推导式简化代码

如果想让代码更简洁,可以用列表推导式一行搞定:

exist = ['http://sushiblast.com', 'http://funnyvideos-funny.info', 'https://youtube.com','https://api.forms.app/user/infobyname/minecraft']

processed_urls = [
    'my.forms.apps/minecraft' if url == 'https://api.forms.app/user/infobyname/minecraft'
    else url[8:] if url.startswith('https://')
    else url[7:] if url.startswith('http://')
    else url
    for url in exist
]

print(processed_urls)

核心思路

  1. 遍历原数组,对每个URL单独判断处理
  2. 优先处理特殊URL的替换,避免和前缀移除逻辑冲突
  3. 用startswith()判断URL前缀类型,通过字符串切片移除前缀

内容的提问来源于stack exchange,提问作者user19027283

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:15:55