|
发表于 2023-5-2 10:18:32
|
显示全部楼层
您可以使用正则表达式来提取后面接数字的文字。具体操作如下:
- import re
- data = '''通用设备70/195|祥鑫科技33/195通用设备;泰嘉股份107/195通用设备'''
- # 使用正则表达式提取后面接数字的文字
- pattern = r'([^\d\W]+\w*)\d+/\d+'
- result = re.findall(pattern, data)
- # 输出提取结果
- print(result) # ['通用设备', '祥鑫科技', '泰嘉股份']
复制代码
解释一下上面的代码:
- 首先导入 re 模块,该模块提供了正则表达式的功能。
- 定义要匹配的字符串 data。
- 使用正则表达式模式 r'([^\d\W]+\w*)\d+/\d+',其中:
- [^\d\W]+ 表示匹配一个或多个非数字和非单词字符,也就是要提取的文字部分。
- \w* 表示匹配零个或多个单词字符,用于处理可能存在的英文单词后缀(如 Corp)。
- \d+/\d+ 表示匹配一个或多个数字、斜杠、一个或多个数字,也就是要过滤掉的部分。
- ( ) 表示捕获匹配的内容,这里用于捕获要提取的文字部分。
- 使用 re.findall() 函数,传入正则表达式模式和要匹配的字符串 data,该函数会返回所有匹配的字符串列表。
- 最后输出提取结果。
上面的代码会输出:['通用设备', '祥鑫科技', '泰嘉股份']。
|
|