【问题标题】:I need to compare two strings and remove characters if they match from string one, python我需要比较两个字符串并删除字符,如果它们与字符串一匹配,python
【发布时间】:2016-02-15 04:53:08
【问题描述】:

我有两个字符串,例如: string1 = "abcdefga" string2 = "acd" 我需要使用"befga" 使第一个字符串返回 我可以替换它,但如果string1 有两个相同的字符,它会删除这两个字符,例如我的string1 不断返回为"befg":

for char in string1:
    for nike in string2:
        if char == nike:
            string1 = string1.replace(char,"")

【问题讨论】:

  • 你的意思是你只想按照它们在string2中出现的顺序从string1中删除字符的第一个实例吗?
  • string2 中的字符顺序显然无关紧要。 string2 表示字符的计数集(多集)。顺序仅在string1 中很重要。
  • 我只是确认一下,因为这些字符按 'a'、'c'、'd' 的顺序被删除,因为它们出现在 string2 中。
  • 两个字符串中的字符顺序无关。我只需要删除 string1 中与 string2 中的字母匹配的所有字母
  • @Jacob 在string2 中的顺序无关紧要。你错过了。尝试反转string2。你得到了同样的答案,对吧?

标签: python string


【解决方案1】:

您可以使用replacemaxreplace 参数仅替换第一个匹配项;

string.replace(s, old, new[, maxreplace])
返回字符串 s 的副本,其中所有出现的子字符串 old 都替换为 new。 如果给出了可选参数 maxreplace,则替换第一个 maxreplace 事件。

string1 = "abcdefga"
string2 = "acd"

for ch in string2:
    string1 = string1.replace(ch, '', 1)

print(string1)
'befga'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多