Как да изтрием символ от низ с помощта на Python

Съществува например низ. EXAMPLE.

Как мога да премахна средния символ, т.е. M, от него? Не ми трябва кодът. Искам да знам:

  • Завършват ли низовете в Python с някакъв специален символ?
  • Кой е по-добрият начин - преместване на всичко отдясно наляво, като се започне от средния символ, ИЛИ създаване на нов низ и некопиране на средния символ?
Решение

В Python низовете са неизменни, така че трябва да създадете нов низ. Имате няколко възможности как да създадете новия низ. Ако искате да премахнете символа 'M' навсякъде, където той се появява:

newstr = oldstr.replace("M", "")

Ако искате да премахнете централния символ:

midlen = len(oldstr)/2   # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Попитахте дали низовете завършват със специален символ. Не, вие мислите като програмист на С. В Python низовете се съхраняват с тяхната дължина, така че всяка байтова стойност, включително \0, може да се появи в низ.

Коментари (3)

Това вероятно е най-добрият начин:

original = "EXAMPLE"
removed = original.replace("M", "")

Не се притеснявайте за преместването на символите и други подобни. Повечето кодове на Python се изпълняват на много по-високо ниво на абстракция.

Коментари (3)

Замяна на определена позиция:

s = s[:pos] + s[(pos+1):]

За да замените конкретен символ:

s = s.replace('M','')
Коментари (3)