反向索引实现中的字符串索引超出范围

时间:2018-09-29 05:17:22

标签: python string

*********************文件a.py ********************** ***********

goto

*****************文件的一部分b.py ************************ *********

a=input()
while (not  (a[len(a)-1].isalpha())):
    a=a[:-1]
print(a)

文件a.py运行正常,但b.py给出错误

for my_word in my_words.split():  
    while(not(my_word[len(my_word)-1].isalpha())):  
        my_word=my_word[:-1]  
    ll=lemmatizer.lemmatize(my_word.lower())  
    if ll not in stop_words:  
        l.append(ll) 

如果我删除while循环

Traceback (most recent call last):
  File "b.py", line 42, in <module>
    while(not(my_word[len(my_word)-1].isalpha())):
IndexError: string index out of range.

我的代码(b.py)运行正常。但是我想删除单词中的特殊字符后缀。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式替换(而不是while循环)来删除非字母字符:

import re
my_word = "Hello_world+?a123"
re.sub(r"(\W|\d|_)+", "", my_word)
#'Helloworlda'