从字符串(Swift)中删除前六个字符

从字符串(Swift)中删除前六个字符,swift,string,character,Swift,String,Character,删除字符串的前六个字符的最佳方法是什么?通过堆栈溢出,我找到了两种应该是解决方案的方法,但我注意到它们有一个错误。比如说, extension String { func removing(charactersOf string: String) -> String { let characterSet = CharacterSet(charactersIn: string) let components = self.components(separatedBy: cha

删除字符串的前六个字符的最佳方法是什么?通过堆栈溢出,我找到了两种应该是解决方案的方法,但我注意到它们有一个错误。比如说,

extension String {
func removing(charactersOf string: String) -> String {
    let characterSet = CharacterSet(charactersIn: string)
    let components = self.components(separatedBy: characterSet)
    return components.joined(separator: "")
}
如果我输入像
https://www.example.com
,并将其存储为名为website的变量,然后键入以下内容

website.removing(charactersOf: "https://")
它删除了
https://
部分,但同时也删除了文本中的所有h、所有t和::等


如何删除第一个字符?

length
是要删除的字符数(本例中为6个)

扩展字符串{
func toLengthOf(长度:Int)->字符串{
如果长度为什么不:

let stripped = String(website.characters.dropFirst(6))
对我来说似乎更简洁和直接

(请注意,它也不能用于多字符表情符号)

[编辑]Swift 4使这一点更加简短:

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

它将从字符串中删除前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)")
var str=“你好,世界”

让range1=str.characters.index(str.startIndex,offsetBy:6)在Swift 4中,它非常简单,只需使用
dropFirst(n:Int)


在你的例子中:
网站。dropFirst(6)

你试过表情符号吗?@Kubba这也适用于表情符号。在你的例子中,输出将是“”。编辑后-现在它输出:
“12”。toLengthOf(长度:1)//2
”@Kubba我已经添加了你场景的屏幕截图。请看一看。@Kubba这不适用于由多个表情组成的表情符号,因为一个普通表情符号只包含一个字符,而你提到的表情符号包含多个字符。但我认为它适用于问题中提出的场景。如果str.length>=6,请使用
{let newstr=str.chopRefix(6)}
。我必须创建一个新字符串,并将
dropFirst
的结果传递给它的构造函数以使其编译。太棒了,经过大量的研发,我找到了最好的解决方案,谢谢。)
    var str = "Hello-World"
    let range1 = str.characters.index(str.startIndex, offsetBy: 6)..<str.endIndex
    str = str[range1]
    print("the end time is : \(str)")
let myString = "Hello World"
myString.dropFirst(6)
//World