python - 在 python 上使用正则表达式进行复杂的数据清理
问题描述
解决方案
类似于@WiktorStribizew,但略有不同。
[A-Z]\d
将准确查找 1 个字母后跟 1 个数字,例如 'K7'
import re
f = "तत् इदम् <गीता-शास्त्रम्>K7 <<<<<समस्त-वेद>K1-अर्थ>T6-सार>T6-संग्रह>T6-भूतम्>T2 <दुर्विज्ञेय-अर्थम्>K1 <<तत्-अर्थ>T6-आविष्करणाय>T6 अनेकैः <विवृत-<<<पद-<पद-अर्थ>T6-<वाक्य-अर्थ>T6>Di-न्यायम्>T6>Bs6 अपि <<अत्यन्त-विरुद्ध>K1-<अनेक-अर्थ>K1>K1 त्वेन लौकिकैः गृह्यमाणम् उपलभ्य अहम् विवेकतः <<अर्थ-निर्धारण>T6-अर्थम्>T4 संक्षेपतः विवरणम् करिष्यामि"
cw = re.findall(r'<[^<>]+>[A-Z]\d', f)
print(cw)
输出
['<गीता-शास्त्रम्>K7', '<समस्त-वेद>K1', '<दुर्विज्ञेय-अर्थम्>K1', '<तत्-अर्थ>T6', '<पद-अर्थ>T6', '<वाक्य-अर्थ>T6', '<अत्यन्त-विरुद्ध>K1', '<अनेक-अर्थ>K1', '<अर्थ-निर्धारण>T6']
为了定位找到的每个项目的位置,下面的代码将输出索引号(第一个字符位置):
for item in cw:
print(f.index(item))
9
32
80
105
152
164
202
222
285
推荐阅读
- haskell - Haskell 中的错误。请指导我如何解决这个问题
- python - ImportError:无法从“mymodule”导入名称“mylist”
- tensorflow - keras 中全局池化层和(正常)池化层之间的区别
- machine-learning - 你如何告诉神经网络的层去寻找/寻找特定的特征,比如眼睛和边缘?
- html - 如何在 HTML 中创建具有两种不同样式的列表?
- angular7 - 如何在angular7中动态添加Dom元素
- perforce - Perforce 文件不在客户端视图中
- excel - 包含选定/活动单元格的 VBA 图表标题
- python-3.x - 熊猫阅读 excel 并用删除线跳过单元格
- flutter - Flutter:Listview Builder水平内部堆栈小部件