假设我有这个字符串'foo1bar2xyz'
我知道其中数字的索引{'1': 3, '2': 7}
我想形成没有数字的父字符串的子字符串。如何获取删除特定索引的字符串的子字符串?你知道吗
在上述情况下,哪个是['foo', 'bar', 'xyz']
我已经试过了
def iterate_string(og_string, start, stop):
if start == 0:
return og_string[:stop]
else:
return og_string[start+1:stop]
def ret_string(S):
digit_dict = {c:i for i,c in enumerate(S) if c.isdigit()}
digit_positions = list(digit_dict.values())
# return digit_positions
substrings = []
start_index = 0
for position in digit_positions:
p = iterate_string(S, start_index, position)
substrings.append(p)
start_index = position
return substrings
print ret_string('foo1bar2xyz')
但它返回['foo', 'bar']
试试这个:
你可以用RE来做
输出:
如果您有索引并希望用作输入,那么这也是一个好主意:
演示:
这个忽略输入字符串中的任何实际数值,只使用字典中的
[3, 7]
位置。你知道吗但是,如果您当前构建
{'1': 3, '2': 7}
映射只是为了分割字符串,那么只使用正则表达式可能更容易:相关问题 更多 >
编程相关推荐