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