如果我有行号和列号,有没有简单的方法来获取NSString中的字符串索引?
例如:
myString
=
abc
def
ghi
[myString getIndexFromLineNumber:2 columnNumber:1]
应该在myString中返回h
的索引,所以在这个例子中它应该是10
(假设新行是1个字符长)。
答案 0 :(得分:1)
没有默认的方法来执行此操作,因此您将不得不为NSString编写一个类别。 看一下NSScanner,它会对你有所帮助。
提示:
将方法中的代码包装在while (![scanner isAtEnd])
中,以便循环扫描字符串。
使用[scanner scanUpToCharactersFromSet:[NSCharacterSet letterCharacterSet] intoString:NULL]
和[scanner scanCharactersFromSet:[NSCharacterSet newlineCharacterSet] intoString:NULL]
跳过一行(继续执行此操作直到您到达所需的行,然后读取当前行并返回给定的字符)。