StringFilter 0.0.4

StringFilter 0.0.4

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Nov 2016
SwiftSwift Version 3.0.1
SPMSupports SPM

Maintained by tnantoka.



A swifty text converter.

Installtion

Swift Package Manager (SPM)

.Package(url: "https://github.com/tnantoka/StringFilter.git", majorVersion: 0, minor: 0),

Usage

import StringFilter

let message = "ifmmp-!xpsme"
let filters = [
    StringFilter.shift(-1),
    .capitalize,
    .replace("$", "!")
]
print(message.str_filter(filters)) // "Hello, World!"

Built-in filters

Case Source Result
.capitalize test Test
.lowercase TEST test
.uppercase test TEST
.shift(1) test uftu
.repeat(2)) test testtest
.replace("t", "T") test TesT
.japanese(.hiragana, .katakana) あいうえお アイウエオ
.japanese(.katakana, .hiragana) アイウエオ あいうえお
.japanese(.full(.alphabet), .half(.alphabet))) ABCDE ABCDE
.japanese(.half(.alphabet), .full(.alphabet))) ABCDE ABCDE
.japanese(.full(.number), .half(.number))) 0123456789 0123456789
.japanese(.half(.number), .full(.number))) 0123456789 0123456789
.japanese(.full(.katakana), .half(.katakana))) アイウエオ アイウエオ
.japanese(.half(.katakana), .full(.katakana))) アイウエオ アイウエオ

Custom filter

struct ExclaimFilter: StringFilterType {
    func transform(string: String) -> String {
        return string + "!"
    }
}

let customFilter = ExclaimFilter() * 3 * StringFilter.uppercase
print("Hello".str_filter(customFilter)) // "HELLO!!!"

TODO

  • [ ] Chinese numeral

Acknowledgements