A powerful .NET library for parsing and writing structured text data using fixed-width and separator-based formats
$ dotnet add package MDLSoft.StringParsersA powerful .NET library for parsing and writing structured text data using fixed-width and separator-based formats.
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class PersonFixedParser : FixedStringParser<Person>
{
public PersonFixedParser()
{
Define(p => p.Name, 0, 10).WithWriteSpaceRightPadder();
Define(p => p.Age, 10, 3).WithReadConverter<int>(s => int.Parse(s))
.WithWriteZeroLeftPadder();
ValidateDefinitions();
}
}
// Usage
var parser = new PersonFixedParser();
var person = parser.Parse("John 025"); // Name: "John", Age: 25
var text = parser.Write(new Person { Name = "Ann", Age = 7 }); // "Ann 007"
public class CsvPersonParser : SeparatorStringParser<Person>
{
public CsvPersonParser() : base(',')
{
Define(p => p.Name, 0);
Define(p => p.Age, 1).WithReadConverter<int>(s => int.Parse(s));
}
}
// Usage
var parser = new CsvPersonParser();
var person = parser.Parse("John,25"); // Name: "John", Age: 25
Licensed under the MIT License. See LICENSE file for details.