Python 是否替换列表项的结束字符?

Python 是否替换列表项的结束字符?,python,regex,string,python-2.7,replace,Python,Regex,String,Python 2.7,Replace,我正在尝试替换列表项的最后几个字符,但不确定如何最好地替换 例如,如果我的列表是: ['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 333/33x'] 我想将第三个上的x更改为x,如下所示: ['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 333/33X'] 另一个例子是: ['44 Example 1/1A', '4 Example He

我正在尝试替换列表项的最后几个字符,但不确定如何最好地替换

例如,如果我的列表是:

['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 333/33x']
我想将第三个上的
x
更改为
x
,如下所示:

['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 333/33X']

另一个例子是:

['44 Example 1/1A', '4 Example Here 444/13903DE', '1 Ex Exam Ple 333/33']
['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 199/1']
DE
更改为
DE

['44 Example 1/1A', '4 Example Here 444/13903dE', '1 Ex Exam Ple 333/33']

另一个例子是:

['44 Example 1/1A', '4 Example Here 444/13903DE', '1 Ex Exam Ple 333/33']
['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 199/1']
199/1
更改为
1/1

['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 1/1']
我曾尝试使用一个简单的
.replace(x,y)
,但中间部分和开始部分出现了很多错误

我确实有一个我创建的正则表达式,但仍然不确定如何做<代码>(\S+)(*?)(\S+)$


任何帮助都将不胜感激。

使用
$
匹配字符串末尾

import re
re.sub('DE$', 'dE', '4 Example Here 444/13903DE')

我最喜欢你的直觉。从你发布的两个示例推断,你没有一个每次替换都相同的模式吗?您可以使用索引引用特定字符,然后将其更改为所需内容

test = ['44 Example 1/1', '4 Example Here 444/13903', '1 Ex Exam Ple 333/33x']
test[2] = test[2][:-1]
请注意,在第2行中,您实际上无法更改字符串中的内容,但可以用新字符串替换整个字符串

Regex在模式匹配方面非常出色,所以如果每次都需要替换相同的模式,那就酷了。就像最后两个字母一样。对于这个问题,您似乎不需要它。

您可以使用

特别是表示字符串结尾的
$
符号
您可以使用
re.sub(模式、应答、字符串、计数、标志)


此外,您还可以指定count,但是因为我们使用的是
$
,所以这并不重要。在这种情况下也不需要标志。

对于每个列表,您的标准似乎都不同。我不明白一个答案怎么能解决你所有的问题。