当前位置: 首页 > 面试题库 >

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

轩辕鸿
2023-03-14
问题内容

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

一个例子:

    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教程,但找不到能代替最后找到的术语的函数,有人可以帮忙吗?


问题答案:

在其中,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.


 类似资料:
  • 每当“q”被写为我附加TextWatcher的edittext的最后一个字符时,这个“q”就会被替换为“a”。我使用: 但是,当我测试代码时,当我输入“q”时,什么也没发生。一些帮助?非常感谢。

  • 问题内容: 在python中,字符串可变吗?该行引发错误 TypeError:’str’对象不支持项目分配 我可以看到原因(因为我可以编写someString [3] =“ test”,这显然是非法的),但是在python中有没有这样做的方法? 问题答案: Python字符串是不可变的,这意味着它们不支持项目或切片分配。您将必须使用ie或其他合适的方法来构建新的字符串。

  • 假设我有一根绳子 我想把“AA”替换成“BB”,但只能是最后一次出现,就像这样: string.replace()和string.replaceFirst()都不能完成这项工作。有string.replaceLast()吗?如果没有,会有一个还是有替代方案也可以处理正则表达式?

  • 问题内容: 我有这样的字符串 我想用转义双引号(\“)替换最后一个双引号(”) 字符串的结果是 我怎样才能做到这一点。我知道要替换字符串的第一次出现。但不知道如何替换字符串的最后一次出现 问题答案: String str = “"Position, fix, dial"“; int ind = str.lastIndexOf(“"“); if( ind>=0 ) str = new StringB

  • 如何使用Swift从String变量中删除最后一个字符?在文档中找不到它。 以下是完整的示例:

  • 问题内容: 有谁知道用一个字符串中的另一个字符串替换最后一个出现的字符串的快速方法? 问题答案: 您可以使用此功能: