有如下数据:[['余华 / 作家出版社 / 2012-8-1 / 20.00元'], ['[英] 乔治·奥威尔 / 刘绍铭 / 北京十月文艺出版社 / 2010-4-1 / 28.00']],如何通过遍历和正则表达式,得到[['余华', '', '作家出版社', '2012-8-1', '20.00元'], ['[英] 乔治·奥威尔', '刘绍铭', '北京十月文艺出版社', '2010-4-1', '28.00']]
时间: 2023-08-06 08:15:29 浏览: 46
您可以使用Python的re模块中的正则表达式来实现。具体步骤如下:
1. 导入re模块
```python
import re
```
2. 遍历数据列表,对每个元素应用正则表达式进行匹配和替换
```python
for i in range(len(data)):
# 匹配出作者和译者
author = re.findall(r'^(.*?) /', data[i][0])
translator = re.findall(r'/ (.*?) /', data[i][0])
if translator:
data[i][0] = re.sub(r'^(.*?) / (.*?) / (.*?) / (.*?) / (.*?)$', r'\1[\2] \3 / \4 / \5', data[i][0])
else:
data[i][0] = re.sub(r'^(.*?) / (.*?) / (.*?) / (.*?)$', r'\1 \2 / \3 / \4', data[i][0])
data[i][0] = [author[0], translator[0] if translator else '', *data[i][0].split(' / ')[1:]]
```
3. 最后得到的结果即为[['余华', '', '作家出版社', '2012-8-1', '20.00元'], ['[英] 乔治·奥威尔', '刘绍铭', '北京十月文艺出版社', '2010-4-1', '28.00']]
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)