Python:替换字符串中的术语(最后一个除外)

发布于 2021-01-29 14:58:23

如何替换字符串中的术语-除了最后一个需要替换为其他内容的字符串以外?

一个例子:

    letters = 'a;b;c;d'

需要更改为

    letters = 'a, b, c & d'

我已经使用了替换功能,如下所示:

    letters = letters.replace(';',', ')

    letters = 'a, b, c, d'

问题是我不知道如何将最后一个逗号替换为“&”号。不能使用与位置相关的函数,因为可以有任意数量的字母,例如’a; b’或’a; b; c; d; e; f;
g’。我已经搜索了stackoverflow和python教程,但找不到能代替最后找到的术语的函数,有人可以帮忙吗?

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在其中,str.replace您还可以传递一个可选的3rd参数(count),该参数用于处理已完成的替换次数。

    In [20]: strs = 'a;b;c;d'
    
    In [21]: count = strs.count(";") - 1
    
    In [22]: strs = strs.replace(';', ', ', count).replace(';', ' & ')
    
    In [24]: strs
    Out[24]: 'a, b, c & d'
    

    帮助str.replace

    S.replace(old, new[, count]) -> string
    
    Return a copy of string S with all occurrences of substring
    old replaced by new.  If the optional argument count is
    given, only the first count occurrences are replaced.
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看