有什么方法可以找到 nsstring 中的下一行字符。我的意思是第二行字符...
我想在 nsstring 的第二行找到这个单词...请帮帮我...我是 xcode 的新手...
正在使用
NSString *substring = [text substringToIndex:[text rangeOfString:@" "].location];
我想找出整个文本中的空白区域...我能够在 nsstring 的第一行中找到该空白区域..但是在第二行中也有相同的空白区域..但它无法识别...
您可以按
\n
字符进行拆分。
类似这样的:
NSArray *vals = [yourString componentsSeparatedByString:@"\n"];
然后检查
vals
是否有多个元素。
if ([vals count] > 1) {
// you do have a "next line"
NSString *nextLine = [vals objectAtIndex: 1];
NSLog(nextLine);
}
NSArray *lines = [yourNSStringObject componentsSeparatedByString:@"\n"];
NSString *secondline = [lines objectAtIndex:1];
rangeOfString 有一个重载方法,您可以为其提供范围。
试试这个:
NSString *substring = [text substringToIndex:[text rangeOfString:@" " options:nil range:NSMakeRange([text rangeOfString:@"\n"], text.length)].location];
在问题中,用户交替使用
next
和 second
,实际上并不相同。
以防万一,如果有人正在寻找
next
行的代码片段,那么这里就是
extension StringProtocol {
func nextLineRange(at index: Index) -> Range<Index>? {
let firstLineRange = lineRange(at: index)
if self.endIndex == firstLineRange.upperBound {
print("Already on the last line")
return nil
}
let nextChar = self.index(after: firstLineRange.upperBound)
return lineRange(at: nextChar)
}
}
这也可用于提取第二行
let secondLineRange = text.nextLineRange(at: text.startIndex)