检查字符串中所有字母之间是否有空格

时间:2019-03-15 11:55:39

标签: python

嗨,我需要帮助才能做到这一点: 考虑到我的字符串仅包含空格和小写字母,我需要检查字符串中的所有字母是否彼此之间至少隔开一个空格。如果字符串跟在此后面,则打印“分隔”,否则打印不分隔。 谢谢:)

4 个答案:

答案 0 :(得分:1)

您可以将字符串分成多个空格列表,然后在单个命令中找出每个空格的最大长度。如果将每个字符隔开,则列表中每个元素的最大长度将为1。如果同时存在多个字母,则最大值为> 1。

NSDictionary

所以简单地变成:

let filteredArray = MyDict.filter {
    for key in $0.allKeys {
        if let string = $0[key] as? String,
            string.contains(searchText) {
            return true 
        }
    }
    return false
}
searchActive = filteredArray.count > 0

答案 1 :(得分:0)

这非常粗糙,不清楚您想要什么:

s1 = "t his will fail"
s2 = "t h     i s s e p a d"

def is_spaced(s):
    prev = s[0]
    result = "is spaced"
    for c in s[1:]:
        if not c.isspace() and not prev.isspace():
            result = "not spaced"
            break
        prev = c

    return result

print(is_spaced(s1))
print(is_spaced(s2))

输出:

not spaced
is spaced

答案 2 :(得分:0)

您可以使用isspace()函数,它不带任何参数,并且返回true和false。如果您想检查某个string之间是否有空格,请使用string.isspace()

答案 3 :(得分:0)

将字符串分成空格,然后检查每个组件的长度。

demo='a b c d ef'
if all([len(item)<2 for item in demo.split(' ')]):
    print('is separated')
else:
    print('not separated')

demo.split(' ')在一个空格上拆分列表。给['a','b','c','d','ef']

[len(item)<2 for item in demo.split(' ')]贯穿上面的列表,并检查每个组件的长度。如果长度小于2,则返回True,否则返回False。对于此示例,这给出了[True,True,True,True,False]

all([len(item)<2 for item in demo.split(' ')])使用all()检查列表中的所有布尔值是否为True。如果一切为True,则返回true,否则返回False。