|  | 
 
 发表于 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,该函数会返回所有匹配的字符串列表。
 - 最后输出提取结果。
 
 上面的代码会输出:['通用设备', '祥鑫科技', '泰嘉股份']。
 
 | 
 |