Python正则表达式仅在模式之后才替换字符

2024-10-01 09:31:25 发布

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

我有很多这样的字符串[INTEGER]-[URL-SLUG]。示例:

234234-url-slug-1
2-urlslug2
301-url-slug4

我需要将整数后面的“-”替换为“/”,但保留另一个“-”不变。所以最后的字符串是:

^{pr2}$

Tags: 字符串url示例整数integerslugpr2slug4
2条回答

re.sub函数具有可选参数count,这是要替换的模式出现的最大数量:

s = '234234-url-slug-1'
result = re.sub(r'^(\d+)-', r'\1/', s, 1)

print(result)

输出:

^{pr2}$

这应该可以使用^{}

> import re

> s = '234234-url-slug-1'
> re.sub(r'(\d)\-', r'\1/', s)
'234234/url-slug-1'

替换字符串中的\1引用匹配模式中第一个捕获的组:'(\d)'。在

相关问题 更多 >