【问题标题】:Python String: obtaining what's left after python string slicePython String:获取python字符串切片后剩下的内容
【发布时间】:2015-05-15 03:29:39
【问题描述】:

This substring related question 在切片字符串时似乎从未提及另一个潜在目标:获取切片后剩下的内容。

有没有一种方法可以在执行切片操作时获得剩余的内容,而无需两个单独的步骤来加入剩余的内容?

这将是蛮力的方式,但它使用两个切片操作和一个连接。

myString = "how now brown trow?"  
myString[:4] + myString[-5:]  
>>> 'how trow?'

这是否可以使用切片符号来完成,而无需制作两个切片并将它们连接在一起?

【问题讨论】:

  • 你的例子似乎没有证明obtaining what's left after a slice
  • @wwii 您要删除的假定切片是 myString[4:-5]。

标签: python string slice


【解决方案1】:

没有。您无法通过单个切片操作获得不连续的片段。

【讨论】:

  • 我希望由于索引是前后连续的,因此切片仍将通过环绕归类为连续的。
  • @horta:不,您无法获得仅通过环绕连续的切片。您可以向前或向后切片,但不能同时在同一个切片中。
  • @horta 这也不仅仅是字符串的纯旋转,因为你实际上想要“how trow?”,而不是“trow?how”,这是你通过 wrap 阅读它会得到的周围(可以通过理解来完成)。
【解决方案2】:

如果您要删除的切片是唯一的,您可以str.replace

myString = "how now brown trow?"
s = myString.replace(myString[4:-5],"")
print(s)
how trow?

【讨论】:

  • 不错的解决方法。在处理可能未知的未来数据时,不幸的是,假设它是唯一的是不安全的。
  • @horta,是的,它是有限的,但你将尽可能接近一步
  • 请注意,这仍然是两个单独的步骤,只是与问题中的示例不同的两个步骤。
  • @BrenBarn,是的,它是有限的,但与 OP 将要达到他们想要做的事情一样接近
猜你喜欢
  • 2014-07-21
  • 2012-02-15
  • 1970-01-01
  • 2015-10-05
  • 2023-03-27
  • 2019-04-22
  • 2013-10-29
  • 1970-01-01
相关资源
最近更新 更多