python中的字符串操作

python中的字符串操作,python,string,Python,String,我正在尝试创建一个函数,该函数将接受一个字符串并从中删除任何文本块。例如,将“(例如)somestuff”转换为“somestuff”,从字符串中删除任何被阻止的文本。这是一个大型程序的单一功能,用于根据文件名自动创建目录,并将相关文件移动到所述文件夹中。我想我陷入了一个无休止的循环,但我不知道问题是什么 startbrackets = '[', '(' endbrackets = ']', ')' digits = range(0,10) def striptoname(string):

我正在尝试创建一个函数,该函数将接受一个字符串并从中删除任何文本块。例如,将“(例如)somestuff”转换为“somestuff”,从字符串中删除任何被阻止的文本。这是一个大型程序的单一功能,用于根据文件名自动创建目录,并将相关文件移动到所述文件夹中。我想我陷入了一个无休止的循环,但我不知道问题是什么

startbrackets = '[', '('
endbrackets = ']', ')'
digits = range(0,10)

def striptoname(string):
    startNum = 0
    endNum = 0
    finished = True
    indexBeginList = []
    indexEndList = [] 

    while (finished):
        try:
            for bracket in startbrackets:
                indexBeginList.append(string.find(bracket, 0, len(string)))
        except:
            print "Search Start Bracket Failed"
            wait()
            exit()

        # Testing Code START
        finished = False
        for i in indexBeginList:
            if i != -1:
                finished = True
                startNum = i
                break
        # Testing Code END

        try:
            for bracket in endbrackets:
                indexEndList.append(string.find(bracket, 0, len(string)))
        except:
            print "Search End Bracket Failed"
            wait()
            exit()

        # Testing Code START
        for i in indexEndList:
            if i != -1:
                endNum = i
                break
        # Testing Code END

        if(finished):
            if(startNum == 0):
                string = string[:(endNum+1)]
            else:
                string = string[0:startNum]
    for i in digits:
        string.replace(str(i),"")
    return string
以下是一种使用以下方法的方法:


您是否可以使用
regex
?是“(示例)”在每种情况下都是一样的,还是用户需要能够设置“(示例)”每次,然后获得之后的内容“(示例)”?抱歉,我想我不是很清楚“示例”的所有内容都是作为示例输入的……另一个示例是“[asdf](ahgf)tada 5084”“。我的程序试图将其转换为“tada”,删除括号或数字中的任何文本。
import re

def remove_unwanted(s):
    # This will look for a group of any characters inside () or [] and substitute an empty string, "", instead of that entire group.
    # The final strip is to eliminate any other empty spaces that can be leftover outside of the parenthesis.
    return re.sub("((\(|\[).*(\)|\]))", "", s).strip()

print(remove_unwanted("[some text] abcdef"))
>>> "abcdef"
print(remove_unwanted("(example) somestuff"))
>>> "somestuff"