Удаление чисел из заданной строки - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь избавиться от любых чисел в строке.

Однако, когда я запускаю свою программу, число удаляется, но удаляются и другие части строки.

string = 'My name is Anish, & I am 22 years old! The wall is blue, and the floor is orange. The weather is great, but it is raining?'

def num_remover(words):
    t = words.split()
    d = [e for e in t if e.isalpha()]
    a = " ".join(d)
    return a

print(bluh_remover(string))

вывод:

Меня зовут Мне 22 года Стена есть, а пол есть Погода такая но она

Ответы [ 3 ]

0 голосов
/ 29 мая 2020

Он отсутствует, потому что вы разделили строку, поэтому слово Ani sh будет выглядеть как «Ani sh», что не является строкой из-за специального символа. string = 'Меня зовут Ани sh, и мне 22 года! Стена синяя, а пол оранжевый. Погода отличная, а идет дождь? '

def num_remover(words):
    new = ''
    temp = ''
    for i in words:
       if i.isdigit():
           new = new + temp
           temp = ''
       else:
           temp = temp + i
    return new + temp
print(num_remover(string))

Вывод:

My name is Anish, & I am  years old! The wall is blue, and the floor is orange. The weather is great, but it is raining?
0 голосов
/ 30 мая 2020

Для любой строки длиннее 10 слов простая замена l oop будет быстрее. В VBA, например:

Dim StrTxt As String, i As Long
StrTxt = "My name is Anish, & I am 22 years old! The wall is blue, and the floor is orange. The weather is great, but it is raining?"
For i = 0 To 9
  StrTxt = Replace(StrTxt, i, "")
Next
MsgBox StrTxt
0 голосов
/ 29 мая 2020

НЕВЕРМИНД: Я понял.

Помимо вызова неправильной функции, ха-ха. Я мог просто думать и просто заменять число ничем.

...