例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
例如,有一个字符串。的例子。
我怎样才能去掉中间的字符,即M ?我不需要密码。我想知道:
Python中的字符串是否以特殊字符结尾? 哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
当前回答
下面是我切掉“M”的方法:
s = 'EXAMPLE'
s1 = s[:s.index('M')] + s[s.index('M')+1:]
其他回答
我怎样才能去掉中间的字符,即M ?
你不能,因为Python中的字符串是不可变的。
Python中的字符串是否以特殊字符结尾?
不。它们类似于字符列表;列表的长度定义了字符串的长度,没有字符作为结束符。
哪个是更好的方法-从中间字符开始将所有内容从右向左移动或创建一个新字符串而不复制中间字符?
您不能修改现有的字符串,因此必须创建一个包含除中间字符以外的所有内容的新字符串。
使用translate()方法:
>>> s = 'EXAMPLE'
>>> s.translate(None, 'M')
'EXAPLE'
在Python 2中,可以使用UserString。MutableString以可变的方式来做:
>>> import UserString
>>> s = UserString.MutableString("EXAMPLE")
>>> type(s)
<class 'UserString.MutableString'>
>>> del s[3] # Delete 'M'
>>> s = str(s) # Turn it into an immutable value
>>> s
'EXAPLE'
MutableString在Python 3中被移除。
Python 3.9+中引入了两个新的字符串删除方法
#str.removeprefix("prefix_to_be_removed")
#str.removesuffix("suffix_to_be_removed")
s='EXAMPLE'
在这个例子中,M的位置是3
s = s[:3] + s[3:].removeprefix('M')
OR
s = s[:4].removesuffix('M') + s[4:]
#output'EXAPLE'
def kill_char(string, n): # n = position of which character you want to remove
begin = string[:n] # from beginning to n (n not included)
end = string[n+1:] # n+1 through end of string
return begin + end
print kill_char("EXAMPLE", 3) # "M" removed
我在这里某处见过。