我对非拉丁字符集有问题,在执行.substringwithrange之前,我需要检查一个范围是否在边界内。这看起来很容易,但我找不到方法。
给定范围:

let lastCharRange = currentString.endIndex.predecessor() ..< currentString.endIndex

如何检查:
let lastExpected                = expectedString.substringWithRange(lastCharRange)

在界内吗?

最佳答案

索引与生成它们的String紧密相关——实际上是与StringCharacterView紧密相关,这是一个CollectionType。这通常适用于集合。
因此,您不能使用从一个Index到另一个String得到的String
根据所做的操作,可能需要从第一个字符串中获取子字符串,然后搜索第二个字符串。您还可以获取这两个Strings'CharacterViews,并通过它们基于集合的界面与它们一起工作:expectedString.characters.last,例如。

关于swift - String.substringWithRange是否在边界内?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39320218/

10-09 16:03