该库旨在添加移动和服务器端开发中都需要,但在 Swift 标准库中缺失的常用字符串操作功能,包括常用正则表达式功能。
完整文档请访问 http://www.sabintsev.com/Guitar/。
Guitar 也是 Swift 源代码兼容性套件 的一部分。
isAlpha
, isNumeric
, isUppercase
等)camelCased
, pascalCased
, kebabCased
等).latinized()
, .withoutAccents()
)padLeft
, padRight
, pad
)Guitar 库 v0.3.0 版本中移除了一小部分函数,因为 Apple 在 Swift 4 语言中添加了许多这些功能 (也就是 Sherlocking)。被移除的函数包括:first, last, length, prefixed, suffixed, trimLeft, trimRight, truncated
。reversed
函数被重命名为 reversedString
,因为它与 Swift 内置的 reversed
函数的行为略有不同。
Swift 版本 | 分支名称 | 是否继续接收更新? |
---|---|---|
5.1+ | master | 是 |
5.0 | swift5.0 | 否 |
4.2 | swift4.2 | 否 |
4.1 | swift4.1 | 否 |
3.2 | swift3.2 | 否 |
3.1 | swift3.1 | 否 |
pod 'Guitar' # Swift 5.1+
pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift5.0' # Swift 5.0
pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift4.2' # Swift 4.2
pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift4.1' # Swift 4.1
pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift3.2' # Swift 3.2
pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift3.1' # Swift 3.1
.Package(url: "https://github.com/ArtSabintsev/Guitar.git", majorVersion: 1)
Guitar
使使用正则表达式测试和评估 String
对象变得更加容易。Guitar.Chord
枚举了常用正则表达式,它们位于 GuitarChord.swift 文件中。Guitar(pattern: String) // A custom regular expression with which to initialize Guitar.
Guitar(chord: Guitar.Chord) // A common regular expression with which to initialize Guitar.
evaluateForRanges(::)
返回一个范围数组,[Range<String.Index>]
,匹配特定的正则表达式。
Guitar(chord: .firstCharacter).evaluateForRanges(from: "Hello world") // [Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 0), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 1), _countUTF16: 1)), Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 6), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 7), _countUTF16: 1))]
evaluateForStrings(::)
返回一个字符串数组,[String]
,匹配特定的正则表达式。
Guitar(chord: .firstCharacter).evaluateForStrings(from: "Hello world") // ["H", "w"]
test(::)
使用特定的正则表达式评估字符串。如果在字符串中找到匹配项,则返回 true
。否则,返回 false
。
Guitar(chord: .email).test(string: "hello@world.com") // `true`
该库还通过 String
扩展添加了数十种 Swift 标准库中缺失或在 String
类上不易访问的方法。请查看 GuitarBoolean.swift
和 GuitarPadding.swift
以查看这些示例。
更多具体示例可以在 tests 文件夹中找到。