Как удалить символ из строки с помощью python?


5 Answers

Это, наверное, лучший способ:

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

Не беспокойтесь о смещении персонажей и тому подобных. Большинство python происходит на гораздо более высоком уровне абстракции.

Question

Существует строка, например, EXAMPLE

Как я могу удалить средний символ, т. M Из него. Мне не нужен код, что я хочу знать

  • Строки в python заканчиваются любым специальным символом?
  • Это лучший способ - переместить все справа налево, начиная с среднего символа ИЛИ создавая новую строку, а не копируя средний символ?



Строки неизменяемы. Но вы можете преобразовать их в список, который является изменяемым, а затем преобразовать список обратно в строку после ее изменения.

s = "this is a string"

l = list(s)  # convert to list

l[1] = ""    # "delete" letter h (the item actually still exists but is empty)
l[1:2] = []  # really delete letter h (the item is actually removed from the list)
del(l[1])    # another way to delete it

p = l.index("a")  # find position of the letter "a"
del(l[p])         # delete it

s = "".join(l)  # convert back to string

Вы также можете создать новую строку, как показали другие, взяв все, кроме символа из существующей строки.




Я просто учился кодировать. Вот что я сделал, чтобы нарезать «М»,

s = 'EXAMPLE'
s1 = s[:s.index('M')] + s[s.index('M')+1:]



from random import randint


def shuffle_word(word):
    newWord=""
    for i in range(0,len(word)):
        pos=randint(0,len(word)-1)
        newWord += word[pos]
        word = word[:pos]+word[pos+1:]
    return newWord

word = "Sarajevo"
print(shuffle_word(word))



Как удалить средний символ

Вы не можете, потому что строки в Python immutable .

Строки в python заканчиваются любым специальным символом?

Нет. Они похожи на списки персонажей; длина списка определяет длину строки, а символ не действует как терминатор.

Это лучший способ - переместить все справа налево, начиная с среднего символа ИЛИ создавая новую строку, а не копируя средний символ?

Вы не можете изменить существующую строку, поэтому вы должны создать новую, содержащую все, кроме среднего символа.




UserString.MutableString

изменяемый способ:

import UserString

s = UserString.MutableString("EXAMPLE")

>>> type(s)
<type 'str'>

#del 'M'
del s[3]

#turn it for immutable:
s = str(s)





Related