2024-04-18 03:38:49 发布
网友
我该如何移除像这样的字符串的一部分
Blue = 'Blue ' Yellow = 'Yellow' Words = Blue + Yellow if Blue in Words: Words = Words - Yellow
那就是我想的样子?你知道吗
编辑: 我知道这不管用我想知道什么管用。因为你不能在str()中使用“-”
使用replace function:
if Blue in Words: Words = Words.replace(Yellow, '')
如果单词是列表,则可以执行以下操作:
if Blue in Words: Words = [word for word in Words if word != Yellow]
或相同,但使用删除:
if Blue in Words: Words.remove(Yellow)
从另一个角度来看,实际上不能移除字符串的一部分,因为字符串(在Python中)是不可变的——它们不能被修改(for good reason)。这意味着没有赋值(mystring[0] = 'f')。你知道吗
mystring[0] = 'f'
你能做的就是构建一个全新的字符串,去掉它的特定部分。这实现了同样的目标。你知道吗
这其实很重要,因为这意味着
mystring.replace('m', 'f')
它本身什么都不做(注意没有赋值-这只是构建一个新字符串,然后将其丢弃)。学习这个不变性(和易变性)的概念是学习的关键-它将帮助你避免许多错误。你知道吗
可以使用str.replace将文本与空字符串交换:
str.replace
Words = Words.replace(Yellow,'')
请注意,这将改变:
"The Yellow Herring"
简单地说:
"The Herring"
(替换将发生在字符串中的任何位置)。如果只想从字符串末尾删除'Yellow',可以使用.endswith和切片:
'Yellow'
.endswith
if Blue in Words and Words.endswith(Yellow): Words = Words[:-len(Yellow)]
使用replace function:
如果单词是列表,则可以执行以下操作:
或相同,但使用删除:
从另一个角度来看,实际上不能移除字符串的一部分,因为字符串(在Python中)是不可变的——它们不能被修改(for good reason)。这意味着没有赋值(
mystring[0] = 'f'
)。你知道吗你能做的就是构建一个全新的字符串,去掉它的特定部分。这实现了同样的目标。你知道吗
这其实很重要,因为这意味着
它本身什么都不做(注意没有赋值-这只是构建一个新字符串,然后将其丢弃)。学习这个不变性(和易变性)的概念是学习的关键-它将帮助你避免许多错误。你知道吗
可以使用
str.replace
将文本与空字符串交换:请注意,这将改变:
简单地说:
(替换将发生在字符串中的任何位置)。如果只想从字符串末尾删除
'Yellow'
,可以使用.endswith
和切片:相关问题 更多 >
编程相关推荐