gpt4 book ai didi

python-3.x - 如何从字符串中获取特定子字符串并用python中的新内容替换子字符串

转载 作者:行者123 更新时间:2023-12-04 09:41:54 25 4
gpt4 key购买 nike

嗨,我对 Python 比较陌生,一直在尝试不同的解决方案,但是找不到任何简单的方法来做到这一点。

所以我有一个看起来像这样的字符串:

str = '-host hostname -port portnum -app appname -l licensename -service sname'

我只想提取 -l licensename其中许可证名称可能因应用程序而异,并将其替换为 -l newlicensename .

我尝试使用替换,但不适合我的需求,因为不同的应用程序使用不同的许可证名称,因此无法批量执行。

我尝试的另一个选择是使用 join 和 zip 函数,如下所示:

output = [' '.join((first, second)) for first, second in zip(words, secondwords)]

在列表中仅分别选择字符串的前两个部分,但是,这并不像输出那样有效:

[u'-host hostname', u'hostname -port', u'-port portnum', u'portnum -app', u'-app appname', u'appname -service', u'-service sname', u'-l licencename , 'u'sname -l']

而不是预期的:

['-host hostname', '-port portnum', '-app appname', '-l licencename','-service sname']

有关执行此操作的最佳方法的任何建议?

最佳答案

您可以使用内置的正则表达式包来做到这一点

首先,我们将创建一个模式并将匹配的模式替换为新值。

import re

s = '-host hostname -port portnum -app appname -l licensename -service sname'
pattern = r'-l [\w]+'

s = re.sub(pattern, '-l newlicensename', s)

输出
Old: "-host hostname -port portnum -app appname -l licensename -service sname"
New: "-host hostname -port portnum -app appname -l newlicensename -service sname"

关于python-3.x - 如何从字符串中获取特定子字符串并用python中的新内容替换子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62295526/

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