NSString中的行索引和列索引的字符串索引

时间:2010-08-14 09:49:36

标签: objective-c string nsstring

如果我有行号和列号,有没有简单的方法来获取NSString中的字符串索引?

例如:

myString =

abc
def
ghi

[myString getIndexFromLineNumber:2 columnNumber:1]应该在myString中返回h的索引,所以在这个例子中它应该是10(假设新行是1个字符长)。

1 个答案:

答案 0 :(得分:1)

没有默认的方法来执行此操作,因此您将不得不为NSString编写一个类别。 看一下NSScanner,它会对你有所帮助。

提示:

  • 将方法中的代码包装在while (![scanner isAtEnd])中,以便循环扫描字符串。

  • 使用[scanner scanUpToCharactersFromSet:[NSCharacterSet letterCharacterSet] intoString:NULL][scanner scanCharactersFromSet:[NSCharacterSet newlineCharacterSet] intoString:NULL]跳过一行(继续执行此操作直到您到达所需的行,然后读取当前行并返回给定的字符)。