找到一个特殊标记,并在源文本中替换其值

时间:2019-10-09 09:14:15

标签: python parsing text

我有一个带有特殊标签的示例文本。

Дата договора {Дата договора}
Номер договора {Номер договора} 
Место заключения договора {Место заключения договора} 
ФИО сотрудника {ФИО работника} 
ИИН сотрудника {ИИН работника} 
Документы сотрудника {Документ работника} 
Телефон сотрудника {Телефон работника} 
Место жительства сотрудника {Адрес проживания работника} 
Должность сотрудника {Должность} 
Дата выхода на работу {Дата выхода на работу} 
Срок действия договора до {Срок действия довогора до} 
Условия труда {Условия труда} 
Должностной оклад {Должностной оклад}
Место работы {Место работы} 
Режим работы {Режим работы}

大括号({,})之间的文本是一个特殊标记。标签是Django模型:

class Tags(models.Model):
    name = models.CharField(max_length=500)
    value = models.CharField(max_length=100)
    code = models.CharField(max_length=150)
    required = models.BooleanField(default=False)

Tag的name属性是花括号之间的文本。

我想要的是:

  1. 在示例文本中找到所有标签
  2. 获得价值
  3. 将这些标签替换为文本中的值

如何实现?我想使用正则表达式,但它可能会很慢,因为这些spectag用于可能超过100页长的文档。是否有任何“文本算法”?

1 个答案:

答案 0 :(得分:1)

尝试一下,既坚固又实用

value = your_line.split("{")[-1].split("}")[0]