Swift unicode字符串修改失败

Swift unicode字符串修改失败,swift,unicode,Swift,Unicode,我正在尝试用unicode字符标记字符串。从字符串前面移除unicode标记时遇到问题。我试过了 code = String(code[prefix.endIndex...]) 及 目标是删除← 因此,输出应为: " a + b" 请改用与本机unicode兼容的字符删除程序版本: 用于删除和返回第一个元素: let justFirst = code.removeFirst() 用于删除第一个字符并返回其余字符 let allButFirst = code.dropFirst() 类

我正在尝试用unicode字符标记字符串。从字符串前面移除unicode标记时遇到问题。我试过了

 code = String(code[prefix.endIndex...])

目标是删除← 因此,输出应为:

 " a + b"

请改用与本机unicode兼容的字符删除程序版本:

用于删除和返回第一个元素:

let justFirst = code.removeFirst()
用于删除第一个字符并返回其余字符

let allButFirst = code.dropFirst()
类似地,对于
最后一个
字符:

let justFirst = code.removeLast()
let allButFirst = code.dropLast()
此外,您还可以将其转换为标准
阵列
,如果您对阵列满意,则可以使用该阵列:

let array = code.map { $0 }

这是一种标记字符串的简单方法。您可以从生成的数组
标记中删除所需的任何字符

func testTokenization() {
    let input = "← a + b"
    var tokens: [String] = []
    for character in input {
        tokens.append(String(character))
    }
    print(tokens)
}

我不知道您的输入是什么以及您想要的输出逻辑是什么,但是
offsetBy:0
表示您手动设置了偏移量,可能会导致unicode中断。输入是由符号和单词组成的字符串。由于每一个都是从字符串的前面识别出来的,所以应该将其删除。正在正确删除非unicode子字符串,但unicode子字符串未正确删除。
code.index(code.startIndex,offsetBy:0)
code.startIndex
完全相同。顺便说一句,你不能使用不同字符串的索引,所以你想从字符串的开头一个接一个地删除字符?我不能在PlayGround中复制这个,谢谢。这只适用于单字符标记。然后进行循环。你需要帮忙吗?啊哈。好的。事实上,我现在已经在做了。我只是想知道为什么上面的代码不起作用。巫婆代码?如有需要,请随时寻求进一步帮助。
let array = code.map { $0 }
func testTokenization() {
    let input = "← a + b"
    var tokens: [String] = []
    for character in input {
        tokens.append(String(character))
    }
    print(tokens)
}