python - 通过 for 循环从列表中删除不需要的字符

标签 python

我这里有一个列表,我想删除所有不需要的字符,只留下分辨率。信息会根据来源而变化,因此我不能有常量变量。

Source = ['First link: Resolution:1920x1080', 'Second Link: Resolution:1280x720', 'Third Link: Available - Resolution:960x720']

我想删除除真实分辨率之外的所有字符

Source = ['1920x1080', '1280x720', '960x720']

我确实没有办法遇到这个问题,我们将不胜感激

最佳答案

您只需要re,它是内置模块。

import re

links = ['First link: Resolution:1920x1080', 'Second Link: Resolution:1280x720', 'Third Link: Available - Resolution:960x720']
resolutions = []
for link in links:
    result = re.search('(\d+x\d+)', link)
    if result is not None:
        resolutions.append(result.group(0))

print(resolutions)

结果:

['1920x1080', '1280x720', '960x720']

如果解析始终位于字符串末尾,您可以将 $ 添加到正则表达式的末尾 '(\d+x\d+)$'

关于python - 通过 for 循环从列表中删除不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56894863/

相关文章:

python - 从图像 PIL 获取图像文件名

python - 如何使时间列成为绘图的x轴?

python - 格式化 2D Numpy 数组 Float -> Percentage

python 上下文管理器打开文件

python - 如何在 Python 3 中设置 sys.stdout 编码?

python - 在 ruamel.yaml 中使用自定义构造函数时如何避免全局状态?

Python:从 numpy 矩阵创建二维直方图

python - python statsmodel包中的测试和验证

python - librosa 生成 "undetailed"MFCC 频谱图

python - 为什么我的 python 文件周围突然有#?