如何使用Python删除字符串中的一个字符
有一个字符串,比如说 EXAMPLE
。
我想知道怎么把中间的字符,也就是 M
去掉?我不需要代码,只想了解:
- 在Python中,字符串是以什么特殊字符结束的吗?
- 哪种方法更好 - 从中间字符开始,把所有字符向左移动,还是创建一个新字符串,不复制中间的字符?
17 个回答
86
这可能是最好的方法:
original = "EXAMPLE"
removed = original.replace("M", "")
别担心字符移动之类的事情。大多数Python代码都是在一个更高的抽象层面上运行的。
90
要替换特定位置的内容:
s = s[:pos] + s[(pos+1):]
要替换特定字符:
s = s.replace('M','')
785
在Python中,字符串是不可变的,也就是说你不能直接修改一个字符串,而是需要创建一个新的字符串。你有几种方法可以创建这个新字符串。如果你想要去掉字符串中所有的'M':
newstr = oldstr.replace("M", "")
如果你想去掉中间的那个字符:
midlen = len(oldstr) // 2
newstr = oldstr[:midlen] + oldstr[midlen+1:]
你问字符串是否以特殊字符结尾。其实不是,你的想法有点像C语言程序员。在Python中,字符串是以长度来存储的,所以任何字节值,包括\0
,都可以出现在字符串中。