Python - getting just the difference between strings

后端 未结 6 2126
心在旅途
心在旅途 2021-01-12 08:12

What\'s the best way of getting just the difference from two multiline strings?

a = \'testing this is working \\n testing this is working 1 \\n\'
b = \'testi         


        
6条回答
  •  没有蜡笔的小新
    2021-01-12 08:37

    a = 'testing this is working \n testing this is working 1 \n'
    b = 'testing this is working \n testing this is working 1 \n testing this is working 2'
    
    splitA = set(a.split("\n"))
    splitB = set(b.split("\n"))
    
    diff = splitB.difference(splitA)
    diff = ", ".join(diff)  # ' testing this is working 2, more things if there were...'
    

    Essentially making each string a set of lines, and taking the set difference - i.e. All things in B that are not in A. Then taking that result and joining it all into one string.

    Edit: This is a conveluded way of saying what @ShreyasG said - [x for x if x not in y]...

提交回复
热议问题