Skip to main content
 首页 » 编程设计

python之删除带有重复字符的字符串 [Python]

2025年05月04日23开发

我需要确定一个字符串是否由某个重复字符组成,例如eeeee、55555 或!!!。

我知道这个正则表达式 'e{1,15}' 可以匹配 eeeee 但它显然不能匹配 555。我尝试了 [a-z0-9]{1-15} 但它甚至匹配我不需要的字符串,例如 Hello。

解决方案不一定是正则表达式。我只是想不出任何其他方法来做到这一点。

请您参考如下方法:

当且仅当字符串中的所有字符都相同时,字符串才由单个重复字符组成。您可以通过从字符串中构建一个集合来轻松测试它:set('55555') .

当且仅当集合的大小为 1 时,所有字符都相同:

>>> len(set('55555')) == 1 
True 
>>> len(set('Hello')) == 1 
False 
>>> len(set('')) == 1 
False 

如果你也想允许空字符串(设置大小为 0),那么使用 <= 1而不是 == 1 .