从字符串中减去字符串文本

2024-04-20 14:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,再来一个。我有:

var1 = "tuna"
var2 = "tunasandwich"

我想要:

^{pr2}$

我知道我的问题是非常基本的,但我问他们简单,并寻找简单的答案,因为我是非常新的编程。这里问的很多问题我都不知道,所以如果其他像我这样的初学者搜索,他们会找到我简单的初学者问题和答案。在

谢谢


Tags: 答案编程tuna初学者var1var2pr2tunasandwich
2条回答

对于初学者来说这是一个很好的话题。你的问题给解释留下了一个很好的空间,这使得提供激光精确支持有点困难,但我们都必须从一开始就作为新人开始,所以这里有一个分散的答案。在

通过确定所需的字符串是否出现在开头,可以确定字符串是否是此处理的候选字符串。在

>>> "tunasandwich".startswith("tuna")
True

如果是这种情况,那么您知道要删除前4个字符,或者换句话说,您需要从第4个字符开始的字符串(记住,任何序列的元素都是从零开始计数的,所以第4个元素是第5个元素)。你可以用“开放式切片”来实现这一点:

^{pr2}$

[4:]表示创建另一个从第四个字符一直到字符串末尾的字符串(这样您甚至不需要知道字符串有多长)。更一般地说,编写一段对任意两个字符串都有效的代码是很有用的。假设我们写道:

>>> target = "tuna"
>>> subject = "tunasandwich"
>>> # This code should work for any two strings (perhaps...)
...
>>> if subject.startswith(target):
...     subject = subject[len(target):]
...
>>> subject
'sandwich'

targetsubject使用不同的值尝试相同的操作。您应该发现,只有当主题字符串确实以目标字符串开头时,主题字符串才会替换为目标字符串后面的子字符串。我没有使用像4这样的数字作为子串的开始,而是使用目标的计算的长度,因此代码可以适应任何目标字符串。检查目标是否出现在受试者开始时,我们就不会切碎不符合治疗条件的字符串。在

当然,最终你会对所有的输入感到厌倦,想要学习函数,但这需要等待一天。在

使用替换功能。所以说:

var1 = "tuna"
var2 = "tunasandwich"
var3 = var2.replace(var1, "")

var3的值将是sandwich。在

我们要做的是用var2中出现的空字符串""替换所有出现的var1,并将其设置为var3。在

这将替换字符串中的所有实例。在

相关问题 更多 >