如何使用Python删除字符串中的一个字符

572 投票
17 回答
1970998 浏览
提问于 2025-04-16 03:14

有一个字符串,比如说 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,都可以出现在字符串中。

撰写回答