如何在Python中检查字符串是否具有相同的字符

2024-04-25 17:51:04 发布

您现在位置:Python中文网/ 问答频道 /正文

检查给定字符串是否具有相同字符的最短方法是什么?

例如,如果有name = 'aaaaa'surname = 'bbbb'underscores = '___'p = '++++',如何检查以知道字符是相同的?


Tags: 方法字符串namesurname字符aaaaabbbbunderscores
2条回答

您可以使用regex进行以下操作:

import re
p = re.compile(ur'^(.)\1*$')     

re.search(p, "aaaa") # returns a match object
re.search(p, "bbbb") # returns a match object
re.search(p, "aaab") # returns None

下面解释一下这个regex模式的含义:https://regexper.com/#%5E(.)%5C1*%24

一个选项是检查其字符集的长度是否为1:

>>> len(set("aaaa")) == 1
True

或者使用all(),如果字符串很长,而且它们都是同一个字符(但正则表达式也很好),则速度可能更快:

>>> s = "aaaaa"
>>> s0 = s[0]
>>> all(c == s0 for c in s[1:])
True

也可能:

s = "aaaaa"
s.count(s[0]) == len(s)

相关问题 更多 >