📜  Python|通过重复子串拆分

📅  最后修改于: 2022-05-13 01:54:45.575000             🧑  作者: Mango

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']