繁体   English   中英

Python替换字符串的一部分

[英]Python replacing parts of string

我在编写使用3个非空字符串,base,target和rep的python函数replace_str遇到麻烦。

第一个字符串base表示要更新的基本字符串。 第二个字符串target表示您要替换的目标字符串,第三个字符串rep表示将替换更新后的字符串中的目标的字符串。

该函数生成一个新字符串,其中target字符串被base字符串中的rep字符串替换,但是如果满足以下任一条件,则生成相同的base字符串。

•如果在base字符串中找不到target字符串,或者,

•如果targetrep是相同的字符串。

不允许使用字符串方法replacefind

这是我到目前为止的内容:

def replace_str(base, target, rep): m = 0 n = len(target) if base[m:n] == target: new_base = base[0:m] + rep + base[n:] return replace_str(new_base, target, rep) else: m = m + 1 n = n + 1 return replace_str(base, target, rep)

如果可以使用split ,为什么不这样呢?

"rep".join("target1 other string target2".split("target"))

split方法返回由目标分隔的元素列表。 join作用相反:它通过在每个元素之间插入字符串从列表构造字符串。

您可以在此处查看这些功能的文档:

https://docs.python.org/2/library/stdtypes.html#str.split

https://docs.python.org/2/library/stdtypes.html#str.join

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM