我有一个像Delete File/Folder
这样的字符串。我需要根据相当于/
的{{1}}来打破句子。
最后需要生成两个字符串,例如or
作为一个字符串,Delete File
作为另一个字符串。
我尝试过非常天真的方式,检查Delete Folder
的索引,然后形成一系列条件的字符串。
当我们有像/
这样的字符串时,有时会失败。
修改
如果你在File/Folder Deleted
上分开,那么对于案例1,我们有/
和Delete File
。然后我将检查第一个字符串中是否存在空格,并且存在的空格是第二个字符串。
具有较少空格数的那个将被第一个字符串最后一个元素替换。这变得复杂了。
答案 0 :(得分:2)
对于Delete File/Folder
,考虑为Delete
和File
这两个词分配的原因可能有助于我们在直觉上做出的固有假设。词法解析。
例如,它将在Folder
和i
之间进行解析,以返回l
。
听起来您希望根据空格的位置将字符串拆分为单词,然后根据["Delete File", "Delete FiFolder"]
拆分每个单词以生成新的完整字符串。
/
答案 1 :(得分:1)
lst = your_string.split()[1].split("/")
finalList=[]
for i in lst:
finalList.append("Delete {0}",i)
print finalList
对于字符串:
Delete File/Folder
输出:
['Delete File', 'Delete Folder']
答案 2 :(得分:1)
st1 = "Do you want to Delete File/Folder"
st2 = "File/Folder Updated"
def spl(st):
import re
li = []
ff = re.search(r'\w+/\w+',st).group()
if ff:
t = ff.split('/')
l = re.split(ff,st)
for el in t:
if not l[0]:
li.append((el + ''.join(l)))
else:
li.append((''.join(l) + el))
return li
for item in st1,st2:
print(spl(item))
['Do you want to Delete File', 'Do you want to Delete Folder']
['File Updated', 'Folder Updated']
答案 3 :(得分:1)
str = "Do you want to Delete File/Folder?"
word = str.split(" ")
count = str.count("/")
c = True
for j in range(0,2*count):
for i in word:
if("/" in i):
words = i.split("/")
if c:
print words[1],
else:
print words[0],
else:
print i, # comma not to separate line
c = not c
print
<强>输出强>
Do you want to Delete File
Do you want to Delete Folder?