我正在尝试编写一个脚本,它基于if变量只包含字母或字母和数字
import re textornumbers = "letters, first" texttoremove = ["(", ")", ",", "first", "second", "third"] for char in texttoremove: textornumbers = textornumbers.replace(char, "") print(textornumbers) if textornumbers.isalpha(): text = " ".join(re.findall("[a-zA-Z]+", textornumbers)) number1 = text print("only letters") else: numbers = re.findall(r'(\d+(?:\.\d+)?)', textornumbers)[0] print(numbers) print("only numbers")
当变量包含数字和文本或仅包含文本时,如果没有任何内容被替换,它会正常工作,但当变量包含例如textornumbers=“(letters),first”时,我会出现错误第16行:IndexError:列表索引超出范围
我想,替换方法会引起问题,但我不知道该怎么做。