Swift:仅在开头删除字符串的特定字符

Fry*_*Fry 3 string character ios swift

我正在寻找答案,但尚未找到答案,所以:

例如:我有一个像"#blablub"的字符串,我想在开头删除#,我只需删除第一个字符.但是,如果我有一个带有"##### bla #blub"的字符串,我只想在第一个字符串的开头删除所有#,我不知道如何解决这个问题.

我的目标是获得像这样的"bla#blub"这样的字符串,否则使用replaceOccourencies会很容易...

我希望你能提供帮助.

OOP*_*Per 7

Swift2

func ltrim(str: String, _ chars: Set<Character>) -> String {
    if let index = str.characters.indexOf({!chars.contains($0)}) {
        return str[index..<str.endIndex]
    } else {
        return ""
    }
}
Run Code Online (Sandbox Code Playgroud)

Swift3

func ltrim(_ str: String, _ chars: Set<Character>) -> String {
    if let index = str.characters.index(where: {!chars.contains($0)}) {
        return str[index..<str.endIndex]
    } else {
        return ""
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

ltrim("#####bla#blub", ["#"]) //->"bla#blub"
Run Code Online (Sandbox Code Playgroud)


win*_*int 6

var str = "###abc"

while str.hasPrefix("#") {
    str.remove(at: str.startIndex)
}

print(str)
Run Code Online (Sandbox Code Playgroud)