gpt4 book ai didi

Python 正则表达式 : words between two delimiters - replace leading delimiters with punctuation, 但删除结尾的

转载 作者:行者123 更新时间:2023-12-01 01:44:43 26 4
gpt4 key购买 nike

test_str = '**Amount** : $25k  **Name** : James'

预期输出:

output: Amount: $25k, Name: James

我只能使用re.sub函数来删除/替换分隔符**单词**,但无法得到预期的结果。

此外,是否可以概括在所有分隔符(***xx**、< xx> 等)上实现的代码?

最佳答案

我使用re.sub的方法。第一个 re.sub 删除 *,第二个 re.sub 添加逗号:

import re

test_str = '**Amount** : $25k **Name** : James'

s = re.sub(r'\s*([^:\s]+)\s*:\s*([^\s]+)', r'\1: \2, ', re.sub(r'[\*\s]+', ' ', test_str)).rstrip(', ')
print(s)

输出:

Amount: $25k, Name: James

以 *、<、> 作为分隔符:

test_str = '**Amount** : $25k  **Name** : James <<Name2>> : Another <Name3> : Jack'

s = re.sub(r'\s*([^:\s]+)\s*:\s*([^\s]+)', r'\1: \2, ', re.sub(r'[\*<>\s]+', ' ', test_str)).rstrip(', ')
print(s)

输出:

Amount: $25k, Name: James, Name2: Another, Name3: Jack

关于Python 正则表达式 : words between two delimiters - replace leading delimiters with punctuation, 但删除结尾的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51506656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com