web-dev-qa-db-ja.com

文字列から最初の6文字を削除する(Swift)

文字列の最初の6文字を削除する最善の方法は何ですか? Stackを通じて、解決策となるはずのいくつかの方法を見つけましたが、それらのエラーに気付きました。例えば、

extension String {
func removing(charactersOf string: String) -> String {
    let characterSet = CharacterSet(charactersIn: string)
    let components = self.components(separatedBy: characterSet)
    return components.joined(separator: "")
}

https://youtube.com のようなウェブサイトを入力し、それをwebsiteという名前の変数として保存する場合、次のように入力します

website.removing(charactersOf: "https://")

https://の部分を削除しますが、テキストからすべてのh、すべてのt 、:などを削除します。

最初の文字を削除するにはどうすればよいですか?

}

12
Vandal

lengthは削除したい文字数です(あなたの場合は6)

extension String {

  func toLengthOf(length:Int) -> String {
            if length <= 0 {
                return self
            } else if let to = self.index(self.startIndex, offsetBy: length, limitedBy: self.endIndex) {
                return self.substring(from: to)

            } else {
                return ""
            }
        }
}

enter image description hereenter image description here

12
Neethu M

Swift 4では、本当に簡単です。単にdropFirst(n: Int)を使用してください

_let myString = "Hello World"
myString.dropFirst(6)
//World
_

あなたの場合:website.dropFirst(6)

19
Gefilte Fish

何故なの :

let stripped = String(website.characters.dropFirst(6))

もっと簡潔で分かりやすいように思えます。

(マルチ文字絵文字では動作しません)

[編集] Swift 4はこれをさらに短くしました:

let stripped = String(website.dropFirst(6))
13
Alain T.

文字列から最初の6文字を削除します

    var str = "Hello-World"
    let range1 = str.characters.index(str.startIndex, offsetBy: 6)..<str.endIndex
    str = str[range1]
    print("the end time is : \(str)")
0
srinivasg