在python中删除特定字符前的空白?

2024-06-17 08:36:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道你是否知道最好的办法。在

此程序使用OCR读取文本。有时,空格出现在小数点之前,如下所示:

{'MORTON BASSET BLK SESAME SEE': '$6.89'}
{"KELLOGG'S RICE KRISPIES": '$3.49'}
{'RAID FLY RIBBON 4PK': '$1 .49'}

如您所见,在最后一个条目的小数点之前会出现一个空格。有什么办法去掉这些空白吗?在

谢谢:)

编辑:小数点之前的内容可能包含不同数量的空白。像

^{pr2}$

Tags: 文本程序空白mortonocr空格seerice
3条回答

使用regular expressions。在

import re
a_list = {"1 .49", "1   .49", "1          .49"}

for a in a_list:
  print re.sub(' +.', '.', a)

结果将是

^{pr2}$

为了你的口述目标:在

>>> d = {'RAID FLY RIBBON 4PK': '$1 .49'}
>>> d['RAID FLY RIBBON 4PK'] = d['RAID FLY RIBBON 4PK'].replace(' ','')
>>> d
{'RAID FLY RIBBON 4PK': '$1.49'}

即使有不同的空间;更换也可以。看到了吗这:在

^{pr2}$

您可以从字符串中去掉所有空白,假设它们遵循相同的格式。像这样:

for item in items: 
  for key in item.keys():
    item[key] = item[key].replace(" ", "")

关键部分是用没有空格替换空白。在

如果只是希望在“.”之前有空格,则可以使用: .replace(“.”,“.”)。在

这将只替换1个空白。要替换multiple,可以使用如下while循环:

^{pr2}$

相关问题 更多 >