TestsTested | ✓ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Nov 2016 |
SwiftSwift Version | 3.0.1 |
SPMSupports SPM | ✓ |
Maintained by tnantoka.
A swifty text converter.
.Package(url: "https://github.com/tnantoka/StringFilter.git", majorVersion: 0, minor: 0),
import StringFilter
let message = "ifmmp-!xpsme"
let filters = [
StringFilter.shift(-1),
.capitalize,
.replace("$", "!")
]
print(message.str_filter(filters)) // "Hello, World!"
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))) |
アイウエオ |
アイウエオ |
struct ExclaimFilter: StringFilterType {
func transform(string: String) -> String {
return string + "!"
}
}
let customFilter = ExclaimFilter() * 3 * StringFilter.uppercase
print("Hello".str_filter(customFilter)) // "HELLO!!!"