我想简单、正确、高效地执行这个操作。另外我不想手动将字符串拆分为行。
这是我希望的(something like this but it is not particularly critical
)。
var string = someMultilneString;
var reader = new StringReader(string);
while(true) {
var line = reader.readLine();
if(line == null) {
break;
}
// work with line
}
如果这个 ( or similar to this
) 是不可能的,那为什么?
PS 另外,请不要提供比这个例子更糟糕的答案。因为这种方式是众所周知的,但这是一个糟糕的设计,总是编写自己的实现来支持常见的输入和输出操作。
List<String> StringToLines(String text) {
var source = text.replaceAll('\r\n', '\n');
source = source.replaceAll('\r', '\n');
var lines = source.split('\n');
var lenght = lines.length;
if(lenght > 0 && lines[lenght - 1].isEmpty) {
lines.length--;
}
return lines;
}