【问题标题】:Find the unmatched string within another string in python在python中的另一个字符串中查找不匹配的字符串
【发布时间】:2014-02-28 16:15:37
【问题描述】:

假设我在 python 中有两个字符串:

    str1 = 'WeDrank$varCupCoffeeToday'
    str2 = 'WeDrank2CupCoffeeToday'

我们可以清楚地看到它们之间的区别是 $var 和 2。假设 $var 可能在任何位置,我们如何获得 2 作为输出,即

    str1 = 'WeDrank2CupCoffee$var'
    str2 = 'WeDrank2CupCoffeeToday'

所以这里的输出应该是今天。期待最好的建议。提前致谢。

【问题讨论】:

  • $var 无论如何都会出现?
  • 是否总是字符串"$var"
  • 是的 $var 是一个符号,表示另一个字符串中的字符串部分。例如,第一组 $var 代表 2,第二组代表 Today。
  • 是的,每次都是 $var

标签: python string difference


【解决方案1】:

对token'$var'进行拆分,然后将左右两部分分别替换为空字符串,即可得到token的值。

>>> str1 = 'WeDrank$varCupCoffeeToday'
>>> str2 = 'WeDrank2CupCoffeeToday'
>>> parts = str1.split('$var')
>>> str2.replace(parts[0],'').replace(parts[1],'')
'2'
>>> str1 = 'WeDrank2CupCoffee$var'
>>> str2 = 'WeDrank2CupCoffeeToday'
>>> parts = str1.split('$var')
>>> str2.replace(parts[0],'').replace(parts[1],'')
'Today'

【讨论】:

  • 不幸的是它不会用于网址
  • 最后我找到了适用于简单字符串和 url 的好的解决方案是用替换函数替换 lstrip:str2.replace(parts[0],'').replace(parts[1], '')
  • 如果我们有 str1 = 'WeDrank$var1CupCoffeeTodayWith$var2Persons' 和 str2 ='WeDrank2CupCoffeeTodayWith6Persons' 的情况呢?我的意思是对于可能有任意数量 $var 的动态情况?
  • @user2789099 你没有在你原来的问题中提到这一点......而且,我不明白这对 URL 是如何不起作用的。
  • 是的,我没有提到,尽管我在问。是的,我用 url 试过了,没用。
猜你喜欢
  • 1970-01-01
  • 2013-05-16
  • 2013-06-12
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多