📜  Python|字符串中给定字符的最长运行

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

Python|字符串中给定字符的最长运行

有时,在使用字符串时,我们可能会遇到需要提取某个字母的最长连续长度的问题。这可以应用于 Web 开发和竞争性编程。让我们讨论可以执行此任务的某些方式。

方法#1:使用循环
这是我们可以执行此任务的蛮力方法。在此,我们在 String 上运行一个循环,并在每次运行时继续记住最大值。

# Python3 code to demonstrate working of 
# Longest Run of Character in String
# Using loop
  
# initializing string
test_str = 'geeksforgeeeks'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing K 
K = 'e'
  
# Longest Run of Character in String
# Using loop
res = 0
cnt = 0
for chr in test_str:
    if chr == K:
        cnt += 1
    else:
        res = max(res, cnt)
        cnt = 0
res = max(res, cnt)
  
# printing result 
print("Longest Run length of K : " + str(res)) 
输出 :
The original string is : geeksforgeeeks
Longest Run length of K : 3



方法 #2:使用max() + re.findall()

这是可以解决此问题的一种线性方式。在此,我们找到使用 findall() 找到的所有运行的最大值。

# Python3 code to demonstrate working of 
# Longest Run of Character in String
# Using max() + re.findall()
import re
  
# initializing string
test_str = 'geeksforgeeeks'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing K 
K = 'e'
  
# Longest Run of Character in String
# Using max() + re.findall()
res = len(max(re.findall(K + '+', test_str), key = len))
  
# printing result 
print("Longest Run length of K : " + str(res)) 
输出 :
The original string is : geeksforgeeeks
Longest Run length of K : 3