| 1234567891011121314151617181920212223242526272829303132333435 |
- from typing import List
- import re
- def extract_urls_from_text(text: str) -> List[str]:
- """从文本中提取URL列表
-
- Args:
- text (str): 包含URL的文本
-
- Returns:
- List[str]: 提取的URL列表
- """
- # URL正则表达式模式
- url_pattern = r'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+[\w\-\._~:/?#[\]@!\$&\'()*+,;=]*'
-
- # 查找所有匹配的URL
- urls = re.findall(url_pattern, text)
-
- # 去重并返回
- return list(set(urls))
- def extract_filename_from_url(url: str) -> str:
- """从URL中提取文件名
-
- Args:
- url (str): 文件的URL或本地路径
-
- Returns:
- str: 提取的文件名
- """
- # 移除URL中的查询参数
- clean_url = url.split('?')[0]
- # 提取文件名
- filename = clean_url.split('/')[-1] if '/' in clean_url else clean_url
- return filename
|