我需要提取在给定字符串末尾结束的最长子字符串的长度,并且还包含完全相同的字符。
例如,给定"aaabbbb"
所需的子字符串为"bbbb"
length = 4
虽然我可以想到使用while
/ for
循环执行此操作的许多方法,但我想知道是否有更优雅的方法来执行此操作。有没有用于此目的的模块?我不想使用for
循环来查找此子字符串。有可能吗?
答案 0 :(得分:6)
>> s = "aaabbbb"
>> len(s) - len(s.rstrip(s[-1]))
4
来自rstrip
S.rstrip([chars])
- >字符串或unicode返回字符串S的副本,删除尾部空格。 如果给出了chars而不是None,则删除chars中的字符。 如果chars是unicode,则在剥离之前S将转换为unicode
因此,此解决方案采用原始字符串的长度,并从中减去字符串的长度,其中所有相同的最后一个字符都被删除。
答案 1 :(得分:1)