LineSplitter class

A StreamTransformer that splits a String into individual lines.

A line is terminated by either:

  • a CR, carriage return: U+000D ('\r')
  • a LF, line feed (Unix line break): U+000A ('\n') or
  • a CR+LF sequence (DOS/Windows line break), and
  • a final non-empty line can be ended by the end of the input.

The resulting lines do not contain the line terminators.

Example:

const splitter = LineSplitter();
const sampleText =
    'Dart is: \r an object-oriented \n class-based \n garbage-collected '
    '\r\n language with C-style syntax \r\n';

final sampleTextLines = splitter.convert(sampleText);
for (var i = 0; i < sampleTextLines.length; i++) {
  print('$i: ${sampleTextLines[i]}');
}
// 0: Dart is:
// 1:  an object-oriented
// 2:  class-based
// 3:  garbage-collected
// 4:  language with C-style syntax
Inheritance

Constructors

LineSplitter()
const

Properties

hashCode int
The hash code for this object.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

bind(Stream<String> stream) Stream<String>
Transforms the provided stream.
override
cast<RS, RT>() StreamTransformer<RS, RT>
Provides a StreamTransformer<RS, RT> view of this stream transformer.
inherited
convert(String data) List<String>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
startChunkedConversion(Sink<String> sink) StringConversionSink
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

split(String lines, [int start = 0, int? end]) Iterable<String>
Split lines into individual lines.