Python|通过重复子串拆分
有时,在使用Python字符串时,我们可能会遇到需要执行拆分的问题。这可以是自定义性质的。在这种情况下,我们可以进行拆分,在该拆分中,我们需要按所有重复进行拆分。这可以在许多领域中应用。让我们讨论可以执行此任务的某些方式。
方法#1:使用 * 运算符 + len()
这是我们可以执行此任务的方法之一。在此,我们计算重复字符串的长度,然后将列表除以获取根,并使用 *运算符构造新列表。
# Python3 code to demonstrate working of
# Split by repeating substring
# Using * operator + len()
# initializing string
test_str = "gfggfggfggfggfggfggfggfg"
# printing original string
print("The original string is : " + test_str)
# initializing target
K = 'gfg'
# Split by repeating substring
# Using * operator + len()
temp = len(test_str) // len(str(K))
res = [K] * temp
# printing result
print("The split string is : " + str(res))
输出 :
The original string is : gfggfggfggfggfggfggfggfg
The split string is : ['gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg']
方法 #2:使用re.findall()
这是可以解决此问题的另一种方式。在此,我们使用 findall() 来获取所有子字符串,并且拆分也在内部执行。
# Python3 code to demonstrate working of
# Split by repeating substring
# Using re.findall()
import re
# initializing string
test_str = "gfggfggfggfggfggfggfggfg"
# printing original string
print("The original string is : " + test_str)
# initializing target
K = 'gfg'
# Split by repeating substring
# Using re.findall()
res = re.findall(K, test_str)
# printing result
print("The split string is : " + str(res))
输出 :
The original string is : gfggfggfggfggfggfggfggfg
The split string is : ['gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg', 'gfg']