MrNatural (mr_natural v0.1.0) View Source

A utility to compare strings in natural sort order.

Natural sort order is useful for humans. By default sorting Strings is a lot differently

Examples of comparing two strings

iex> MrNatural.compare("String2", "String11")
:lt

iex> MrNatural.compare("String11", "String2")
:gt

iex> MrNatural.compare("string", "STRING")
:eq

Examples with sorting

iex> Enum.sort(["String2", "String11", "String3"], MrNatural)
["String2", "String3",  "String11"]

iex> Enum.sort(["String2", "String11", "String3"], {:asc, MrNatural})
["String2", "String3",  "String11"]

iex> Enum.sort(["String2", "String11", "String3"], {:desc, MrNatural})
["String11", "String3",  "String2"]

Link to this section Summary

Functions

Compares two strings ignoring case and in natural sort order.

Link to this section Functions

Compares two strings ignoring case and in natural sort order.

Examples

iex> MrNatural.compare("String2", "String11")
:lt

iex> MrNatural.compare("String11", "String2")
:gt

iex> MrNatural.compare("string", "STRING")
:eq