【问题标题】:String index from line index and column index in NSStringNSString 中行索引和列索引的字符串索引
【发布时间】:2010-08-14 09:49:35
【问题描述】:
如果我有行号和列号,是否有任何简单的方法可以在 NSString 中获取字符串索引?
例如:
myString =
abc
def
ghi
[myString getIndexFromLineNumber:2 columnNumber:1] 应该在 myString 中返回 h 的索引,所以在这个例子中它应该是 10(假设新行是 1 个字符长)。
【问题讨论】:
标签:
objective-c
string
nsstring
【解决方案1】:
没有默认的方法来做到这一点,所以你将不得不为 NSString 编写一个类别。
看看NSScanner,它会对你有很大帮助。
提示:
将方法中的代码包装在while (![scanner isAtEnd]) 中,以循环扫描字符串。
-
使用[scanner scanUpToCharactersFromSet:[NSCharacterSet letterCharacterSet] intoString:NULL] 和[scanner scanCharactersFromSet:[NSCharacterSet newlineCharacterSet] intoString:NULL] 跳过一行(继续这样做,直到到达所需的行,然后读取当前行并返回给定字符)。
李>