mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
56 lines
1.6 KiB
Swift
56 lines
1.6 KiB
Swift
//
|
|
// String+Extension.swift
|
|
// Bark
|
|
//
|
|
// Created by huangfeng on 2018/6/26.
|
|
// Copyright © 2018 Fin. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
extension String {
|
|
// 将原始的url编码为合法的url
|
|
func urlEncoded() -> String {
|
|
let encodeUrlString = self.addingPercentEncoding(withAllowedCharacters:
|
|
.urlQueryAllowed)
|
|
return encodeUrlString ?? ""
|
|
}
|
|
|
|
// 将编码后的url转换回原始的url
|
|
func urlDecoded() -> String {
|
|
return self.removingPercentEncoding ?? ""
|
|
}
|
|
}
|
|
|
|
// MARK: - NSAttributedString
|
|
|
|
extension String {
|
|
var bold: NSAttributedString {
|
|
return NSMutableAttributedString(string: self, attributes: [.font: UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)])
|
|
}
|
|
|
|
var underline: NSAttributedString {
|
|
return NSAttributedString(string: self, attributes: [.underlineStyle: NSUnderlineStyle.single.rawValue])
|
|
}
|
|
|
|
var strikethrough: NSAttributedString {
|
|
return NSAttributedString(string: self, attributes: [.strikethroughStyle: NSNumber(value: NSUnderlineStyle.single.rawValue as Int)])
|
|
}
|
|
|
|
var italic: NSAttributedString {
|
|
return NSMutableAttributedString(string: self, attributes: [.font: UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)])
|
|
}
|
|
|
|
func colored(with color: UIColor) -> NSAttributedString {
|
|
return NSMutableAttributedString(string: self, attributes: [.foregroundColor: color])
|
|
}
|
|
}
|
|
|
|
// MARK: - Format
|
|
|
|
extension String {
|
|
func format(_ arguments: any CVarArg...) -> String {
|
|
return String(format: self, arguments)
|
|
}
|
|
}
|