如何在Python中替换多个字符串中的一个子字符串?

时间:2017-09-07 23:39:30

标签: python python-2.7

假设我有多个字符串:

Last_change

如何在所有子串中替换相同的子串?假设我需要将“b”替换为“c”。我可以肯定做到以下几点,但有一个简洁的单线解决方案吗?

string1 = "ab"
string2 = "db"
string3 = "eb"

3 个答案:

答案 0 :(得分:3)

string1,string2,string3=[string.replace('b','c') for string in [string1,string2,string3]]

试试这个整齐的列表理解一线

答案 1 :(得分:1)

编辑:我忘了将变量重新分配给字符串,themewhackamadoodle3000击败了我!

确实有一种简单的方法可以使用for loop这样做:

string1,string2,string3=[string.replace('b','c') for string in [string1,string2,string3]]

循环遍历数组中的每个字符串,并将 b 替换为 c

答案 2 :(得分:1)

您可以使用类并在列表推导中创建classmethods:

class String:
   def __init__(self, s):
       self.s = s
   def replace(self, old, new):
      return self.s.replace(old, new)


string1 = "ab"
string2 = "db"
string3 = "eb"
l = [String(i).replace("b", "c") for i in [string1, string2, string3]]

输出:

['ac', 'dc', 'ec']