Pub Package GitHub Issues GitHub Forks GitHub Stars GitHub License Build Status Code Coverage

A scanf-like implementation in pure Dart. For maximum speed, the pattern is compiled into a list of scanners, which can perform very fast.

Features

A very short example, how to use this package:

import 'package:scanf/scanf.dart';

void main() {
  final scanf = ScanF('Pi: %f, Int=%i, Octal=%o %[^:]:%f%%, %[a-c]%s');
  final result = scanf.match('Pi: 3.14, Int=0xCAFEBABE, Octal=755 Progress:34.2%, abcdef');
  print('$result');
}

Notes

Being an old-fashioned C programmer, I have been using scanf-like functions all my life.

When I got into Dart/Flutter, I started to love this language and concepts more and more. But regular expressions (RegEx) are still unlearnable for people like me, so I looked around for a scanf-like implementation in Dart.

Surprisingly, I couldn't find anything. When I started a small project with rsync, the need for a "stdout" parser arose.

With this package I was able to process the output of rsync without any problems, crating a usable progress display.

Libraries

scanf