StringTemplate
快速轻松地将模板应用于目标字符串。
此库允许您创建轻量级模板,然后任意地将它们应用于字符串实例。您还可以传递选项,以便自定义对模板应用的严格程度。
使用方法
// Create a template:
let nanpPhoneNumber = String.Template(
placeholderToken: "X",
template: "(XXX) XXX-XXXX"
)
// And apply it:
let formatted = try? "5125550001".applying(template: nanpPhoneNumber)
print(formatted) // Optional("(512) 555-0001")
// Allow for partial application:
let partial = try? "512555".applying(template: nanpPhoneNumber, options: [.allowPartial])
print(partial) // Optional("(512) 555-")
// Allow for overflow application:
let overflow = try? "5125550001111111111".applying(template: nanpPhoneNumber, options: [.allowOverflow])
print(overflow) // Optional("(512) 555-0001")
// Mutate the string directly:
var str = "5125550001"
try? str.apply(template: nanpPhoneNumber)
print(str) // "(512) 555-0001"
查看 测试案例 以获取更多示例。
安装
Swift Package Manager
将此项目作为依赖项添加到您的 Package.swift
文件中
dependencies: [
.package(url: "https://github.com/square/StringTemplate.git", .from("1.0.0")),
]
Carthage
将以下内容添加到您的 Cartfile 中
github "square/StringTemplate"
然后运行 carthage update
。
按照Carthage 的 README 中的说明进行更新,以获取最新的安装说明。
CocoaPods
将以下内容添加到您的 Podfile 中
pod 'StringTemplate'
同时请确保您已选择使用框架
use_frameworks!
然后使用 CocoaPods 0.36 或更高版本运行 pod install
。
Git Submodules
如果您想这样做,您也可以这样做。
将此仓库作为子模块添加,并将项目文件添加到您的工作区中。您可以为您的应用程序目标链接到 StringTemplate.framework
。
贡献
我们喜欢我们的贡献者!请在提交拉取请求之前阅读我们的贡献指南。
许可证
Copyright 2017 Square, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.