【问题标题】:Python: Finding text, transforming it, replacing itPython:查找文本、转换文本、替换文本
【发布时间】:2015-02-10 17:39:10
【问题描述】:

似乎无法很好地表达这个问题,无法进行查找。我希望使用正则表达式来识别某些文本字符串,对其进行转换,然后用转换后的文本替换该字符串。

例如: "一些随机股票代码:MSFT AAPL INTC"

如果我想用与 HTML 链接的股票代码替换股票代码,那么最好的方法是什么?

我可以编写一个正则表达式来查找股票代码并对固定字符串进行简单替换,但我不知道如何告诉 Python“在文本中查找字符串,对其进行转换,然后将字符串替换为转换后的文本”

在这个特定的示例中,我可以在空格上拆分字符串并遍历列表,但我想要一些可以在 Python 找到文本时查找并替换文本的内容,因为在某些情况下可能没有一致的分隔符可用。

【问题讨论】:

标签: python regex python-3.x


【解决方案1】:
    import re

    string = 'Some random stock symbol: MSFT AAPL INTC'
    tickers = re.findall('[A-Z]{4}', string)

    for x in tickers:
       string = re.sub(x, 'example.com/'+x, string)

这将返回“一些随机股票代码:example.com/MSFT example.com/AAPL example.com/INTC”

【讨论】:

  • 谢谢。我的示例应该更好地显示对数据进行的更多转换,而不是更简单的事情,例如更多的静态连接。 Casimir 评论中 re.sub 的数据处理部分更像是我在将数据传递给函数、对其执行某些操作并返回值方面所寻找的。在 Python regexp how-to 中没有看到它,但它在 re. 的文档中
猜你喜欢
  • 1970-01-01
  • 2022-07-13
  • 1970-01-01
  • 2019-07-30
  • 2018-10-17
  • 2011-08-20
  • 2011-11-24
  • 2021-10-25
  • 2020-08-23
相关资源
最近更新 更多