用re.sub向数字串中添加+1。

问题描述 投票:0回答:2

我如何使用 re.sub python 方法将 +1 附加到一个电话号码上?

当我使用下面的函数时,它将这个字符串 "802-867-5309 "改为这个字符串 "+1+15309"。我试图得到这个字符串 "+1-802-867-5309"。docs replace中的例子显示了如何替换整个字符串,我不想替换整个字符串,只想附加一个+1。

import re
def transform_record(record):
  new_record = re.sub("[0-9]+-","+1", record)
  return new_record

print(transform_record("Some sample text 802-867-5309 some more sample text here"))
regex python-3.x
2个回答
3
投票

如果你可以用一个模式来匹配你的电话号码,你可以用以下方法来参考匹配值。\g<0> 替换中的backreference。

所以,以最简单的模式,如 \d+-\d+-\d+ 匹配您的电话号码,您可以使用

new_record = re.sub(r"\d+-\d+-\d+", r"+1-\g<0>", record)

搜索引擎演示. 查看更多关于如何匹配电话号码的想法在 用python脚本查找电话号码.

Python演示:

import re
def transform_record(record):
  new_record = re.sub(r"\d+-\d+-\d+", r"+1-\g<0>", record)
  return new_record

print(transform_record("Some sample text 802-867-5309 some more sample text here"))
# => Some sample text +1-802-867-5309 some more sample text here
热门问题
推荐问题
最新问题