python - 如何在 python 中替换字符串的一部分?

标签 python string substitution substring

如何在 Python 中替换另一个字符串中的一组字符?

这是我正在尝试做的事情:假设我有一个字符串 'abcdefghijkl' 并且想用 A 替换结尾符号 (k) 的二维。我收到一个错误:

>>> aa = 'abcdefghijkl'
>>> print aa[-2]
k
>>> aa[-2]='A'

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    aa[-2]='A'
TypeError: 'str' object does not support item assignment

所以,问题是:是否有一种优雅的方法可以从指定位置开始用另一个字符串中的字符串符号替换(替换)?像这样的东西:

# subst(whole_string,symbols_to_substiture_with,starting_position)

>>> print aa
abcdefghijkl
>>> aa = subst(aa,'A',-2)
>>> print aa
abcdefghijAl

subst 的非暴力破解代码是什么?

最佳答案

如果它始终是您要替换的相同位置,您可以执行以下操作:

>>> s = s[0:-2] + "A" + s[-1:]
>>> print s
abcdefghijAl

一般情况下,你可以这样做:

>>> rindex = -2 #Second to the last letter
>>> s = s[0:rindex] + "A" + s[rindex+1:]
>>> print s
abcdefghijAl

编辑:非常的一般情况,如果您只想在替换中重复一个字母:

>>> s = "abcdefghijkl"
>>> repl_str = "A"
>>> rindex = -4 #Start at 4th character from the end
>>> repl = 3 #Replace 3 characters
>>> s = s[0:rindex] + (repl_str * repl) + s[rindex+repl:]
>>> print s
abcdefghAAAl

关于python - 如何在 python 中替换字符串的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3550327/

相关文章:

java - 使用new构造的String对象除了堆之外还驻留在哪里?

Python re.sub - 在上下文不匹配时替换字符

string - 替换字符串中所有重叠的模式

python - 递增 Py_True/Py_False refcount 总是必要的吗?

python - 如何使用特定步长的窗口提取短序列?

python - 在 python 中读取 15 M 行 csv 文件的有效方法

javascript - escape() 似乎不能始终如一地工作?

sql - 为什么 HIVE 必须用 "\01"拆分字符串? [b4 0.11.0 是的,0.11.0之后可以指定]

docker-compose --env-file 根本不起作用

python - 将 Pandas SparseDataframe 转换为 Scipy sparse csc_matrix