【问题标题】:Swift: Detect when first letter(s) of a string isn't equal to particular character?Swift:检测字符串的第一个字母何时不等于特定字符?
【发布时间】:2017-06-22 11:09:15
【问题描述】:

我有一个简单的字符串。我希望能够检测到该特定字符串中的任何单词何时在其开头没有 # ,如果是,则执行一些代码。我试了一下,但我的解决方案似乎有点小故障,而且不是很可靠。有时它会执行正确的行,有时则不会。有没有更有效的方法来做到这一点?谢谢各位。

extension Collection where Iterator.Element == String {
    var initials: [String] {
        return map{String($0.characters.prefix(1))}
    }
}

let string: String = "Hello this is a #test"
let stringArray = string.components(separatedBy: " ")
print(stringArray.count)
let array = Array(stringArray)

    let firstLetter = array.initials
    for letter in firstLetter {
        if letter != "#" {
            print("tell user to add hashtag")
        } else {
            print("successful")
        }
    }

【问题讨论】:

    标签: arrays swift string for-loop swift3


    【解决方案1】:

    这里有一个使用 String 的hasPrefix() 方法的更简单的方法:

    let string = "Hello this is a #test"
    
    for word in string.components(separatedBy: " ") {
        if !word.hasPrefix("#") {
            print("tell user to add hashtag")
        } else {
            print("successful")
        }
    }
    

    【讨论】:

    • 很棒的方法。谢谢你,先生。
    猜你喜欢
    • 2020-07-02
    • 2016-06-09
    • 2014-12-06
    • 2013-10-02
    • 2020-11-19
    • 2016-01-21
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    相关资源
    最近更新 更多