2024-04-24 23:51:57 发布
网友
python新手,我想去掉两个sting的前缀。只留下J之前的所有内容并删除.json
我尝试使用[:1],但它删除了整个第一个字符串
name = ['190523-105238-J105150.json', '190152-105568-J616293.json']
我想输出这个
name = ['J105150', 'J616293']
执行[:1]将对当前列表进行切片,以仅获取索引1之前的元素,因此只有索引0处的元素才会存在。 这不是你想要的。 正则表达式可以帮助您实现目标
import re output = [re.search(r'-([\w+]).json', x).group(0) for x in your_list]
您可以在列表理解中使用split():
split()
name = ['190523-105238-J105150.json', '190152-105568-J616293.json'] print([x.rsplit('-', 1)[1].split('.')[0] for x in name]) # ['J105150', 'J616293']
您可以使用find()函数和数组拼接
find()
name = ['190523-105238-J105150.json' ,'190152-105568-J616293.json'] for i in range(len(name)): start_of_json = name[i].find('.json') start_of_name = name[i].find('J') name[i] = name[i][start_of_name:start_of_json]
执行[:1]将对当前列表进行切片,以仅获取索引1之前的元素,因此只有索引0处的元素才会存在。 这不是你想要的。 正则表达式可以帮助您实现目标
您可以在列表理解中使用
split()
:您可以使用
find()
函数和数组拼接相关问题 更多 >
编程相关推荐