我已经看到了关于获取所有可能的子字符串(即相邻字符集)的许多问题,但是对于生成所有可能的字符串(包括其子字符串的组合)都没有疑问。
例如,让:
x = 'abc'
我希望输出是这样的:
['abc', 'ab', 'ac', 'bc', 'a', 'b', 'c']
要点是,我们可以删除原始字符串中不相邻的多个字符(以及相邻的字符)。
到目前为止,这是我尝试过的:
def return_substrings(input_string):
length = len(input_string)
return [input_string[i:j + 1] for i in range(length) for j in range(i, length)]
print(return_substrings('abc'))
但是,这只会从原始字符串中删除相邻字符串的集合,而不会返回上例中的元素'ac'
。
另一个示例是,如果我们使用字符串'abcde'
,则输出列表应包含元素'ace'
,'bd'
等等。
您可以使用以下方法轻松完成此操作
itertools.combinations
>>> from itertools import combinations
>>> x = 'abc'
>>> [''.join(l) for i in range(len(x)) for l in combinations(x, i+1)]
['a', 'b', 'c', 'ab', 'ac', 'bc', 'abc']
如果希望以相反的顺序进行操作,则可以使range
函数以相反的顺序返回其序列
>>> [''.join(l) for i in range(len(x),0,-1) for l in combinations(x, i)]
['abc', 'ab', 'ac', 'bc', 'a', 'b', 'c']
我有两根绳子 在两种情况下,我应该删除
问题内容: 我正在尝试从Java字符串中找到所有三个字母子字符串。 例如,从字符串“ example string”中,我应该得到“ exa”,“ xam”,“ amp”,“ mpl”,“ ple”,“ str”,“ tri”,“ rin”,“ ing”。 我尝试使用Java正则表达式“([[a-zA-Z]){3}”,但仅得到“ exa”,“ mpl”,“ str”,“ ing”。 有人可以告诉我
问题内容: 有没有一种方法可以在Python中对字符串进行子字符串化,以从第三个字符到字符串末尾获取新的字符串? 也许喜欢吗? 如果离开第二部分意味着“直到最后”,而如果离开第一部分,它是否从头开始? 问题答案: Python称这个概念为“切片”,它不仅适用于字符串,还适用于更多的领域。看看这里的一个全面的介绍。
我有一个json字符串,我需要验证它,并在json字符串中找到列表以外的任何其他键。示例json字符串为 如何使用从json字符串中获取所有键
问题内容: 我需要解析一个HTML文档并查找其中所有出现的字符串。 我目前将HTML加载到字符串变量中。我只需要字符位置,这样我就可以遍历列表以在字符串之后返回一些数据。 该函数仅返回第 一个 匹配项。如何 全部 归还呢? 问题答案: 在不使用正则表达式的情况下,类似这样的方法应该可以返回字符串位置:
本文向大家介绍从Java字符串中获取所有数字,包括了从Java字符串中获取所有数字的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串。 为了仅显示上述字符串中的数字,我们使用了该方法并将所有字符替换为空。 以下是最后的示例,该示例仅显示字符串中的数字。 示例 输出结果