Use more efficient implementation

Remove calling of map() because it is slow. Apply tolower() before
split().

Bench mark: https://gist.github.com/k-takata/b0647272fa5825b2c3eb