/strong

A Lua library that makes your strings stronger!

Primary LanguageLuazlib LicenseZlib

Description

Strong is a small Lua library that adds a lot of utilities to Lua's string library, and also adds some operators to strings themselves. It is currently at version 1.0.3.

Strong is based largely on Ruby's String class. I've also taken a few things from thelinx's extensions to strings.

The Name

As you might have guessed, the name "strong" was chosen because it's very close to "string", and because this library makes strings stronger :).

Features/Documentation

To get an idea of, or documentation for, strong's features, take a look at the wiki. Over there you can find the function reference, and documentation for string indexing and the operators.

Example

A quick example of a few of the features.

s = "Hello world.\nBoo. This is cool.\nHey!"

for line in s:lines() do
  for _, s in pairs(line / ' ')
    print(s:capitalize())
  end
end

Tests

The tests are done using telescope. Have a look at the README for that repository to see how to install telescope. Once you've done that, just run tsc spec.lua. Of course if you want to see the results of every test, you can run tsc -f spec.lua.

Contributors

  • Robin Wellner helped to improve performance of insert and also added a couple new abilities to that method.
  • kikito provided a much better implementation of squeeze.
  • TsT helped to make split have an option to turn on plain text.
  • Roland Yonaba provided the solution to a problem with a couple special pattern characters.