如何从字符串中的每一行中删除最后一个逗号?

How to remove the last comma from each line in a string?

我有一个名为 output 的变量,用于存储此字符串:

Numbers: 1, 2, 3, 4,

Numbers1: 1, 3, 5, 7,

Numbers2: 2, 4, 5, 7,

如何只删除每行最后一个逗号? 结果应如下所示:

Numbers: 1, 2, 3, 4

Numbers1: 1, 3, 5, 7

Numbers2: 2, 4, 5, 7

output.rstrip(',') 只去除 Numbers2 中的最后一个逗号,如下所示:

Numbers: 1, 2, 3, 4,

Numbers1: 1, 3, 5, 7,

Numbers2: 2, 4, 5, 7

output[:-1] 结果相同,只去掉最后一行

如果你有混合结尾,你可能可以组合多个 rstrip,但最好的答案是使用正则表达式。

import re
output =  "1,2,3,4 \t\n"
print(re.sub(",\s*$", "", output))

产出

1,2,3,4

如果你的字符串很长,这在性能方面不太好,但它应该可以

"\n".join(x[:-1] for x in output.splitlines())
s = "1, 2, 3, 4,"
s1=s[:-1] # it returns all characters except the last (-1 counting from the end).
In : s1                                                                   
Out: '1, 2, 3, 4'

您可以使用正则表达式删除每条中线的逗号和最后一条的子字符串。

import re
string = """Numbers: 1, 2, 3, 4,

Numbers1: 1, 3, 5, 7,

Numbers2: 2, 4, 5, 7,"""
final = re.sub(r',[\s]+N', '\nN', string)[:-1]
print(final)

输出

Numbers: 1, 2, 3, 4

Numbers1: 1, 3, 5, 7

Numbers2: 2, 4, 5, 7