使用Regex提取银行PDF信息时如何去除结果中的括号引号逗号
问题解决方法
你的输出出现括号、引号、逗号的核心原因是变量赋值时的语法错误:你使用逗号分隔了空字符串和提取结果,Python会自动把这种结构识别为元组类型,打印元组就会自带这些格式符号。
方案1:从赋值根源修改(推荐)
直接删掉变量赋值时多余的" ",部分,同时可以加.strip()去除提取结果前后的多余空白,修改后的代码如下:
import re # 假设data是你读取到的PDF文本内容 acc_name = '\n'.join([re.sub(r'^[\d \t]+|[\d \t]+:$', '', line) for line in data.splitlines() if 'Mr. ' in line]).strip() acc_no = '\n'.join([re.sub(r'Account Number\s+:', '', line) for line in data.splitlines() if 'Account Number' in line]).strip() acc_code = '\n'.join([re.sub(r'IFSC Code\s+:', '', line) for line in data.splitlines() if 'IFSC Code' in line]).strip()
修改后直接打印三个变量,输出结果就是纯文本:
50439602642 Mr. MOHD AZFAR ALAM LARI ALLA0211993
方案2:处理已有元组结果
如果你已经生成了之前的元组格式结果,直接取每个元组的第二个元素再去除空白即可:
# 三个变量均按该逻辑处理即可 acc_no = acc_no[1].strip() acc_name = acc_name[1].strip() acc_code = acc_code[1].strip()
内容的提问来源于stack exchange,提问作者senarijit1618
相关产品推荐
相关产品推荐

