String
extension String: WrapperCompatible
extension String: AnyModel
extension String: BasicType
extension String: StringParameter, AttributedStringParameter, DataParameter, URLParameter, URLRequestParameter
extension String: JSONSubscriptType
-
快速读取本地化语言
Declaration
Swift
public var fw_localized: String { get }
-
快速读取本地化语言,指定Bundle
Declaration
Swift
public func fw_localized(_ bundle: Bundle?) -> String
Parameters
bundle
语言所在Bundle,默认主Bundle
Return Value
本地化字符串
-
快速读取本地化语言,指定表名和Bundle
Declaration
Swift
public func fw_localized(_ table: String?, _ bundle: Bundle? = nil) -> String
Parameters
table
本地化表名,默认Localizable.strings
bundle
语言所在Bundle,默认主Bundle
Return Value
本地化字符串
-
Undocumented
Declaration
Swift
func decoded<T>(using decoder: JSONDecoder = JSONDecoder(), as type: T.Type = T.self) throws -> T where T : Decodable
-
安全字符串,不为nil
Declaration
Swift
public static func fw_safeString(_ value: Any?) -> String
-
转换为UTF8数据
Declaration
Swift
public var fw_utf8Data: Data? { get }
-
转换为URL
Declaration
Swift
public var fw_url: URL? { get }
-
转换为文件URL
Declaration
Swift
public var fw_fileURL: URL { get }
-
转换为NSNumber
Declaration
Swift
public var fw_number: NSNumber? { get }
-
Undocumented
Declaration
Swift
public var stringValue: String { get }
-
Undocumented
Declaration
Swift
public var attributedStringValue: NSAttributedString { get }
-
Undocumented
Declaration
Swift
public var dataValue: Data { get }
-
Undocumented
Declaration
Swift
public var urlValue: URL { get }
-
Undocumented
Declaration
Swift
public var urlRequestValue: URLRequest { get }
-
Foundation对象编码为json字符串
Declaration
Swift
public static func fw_jsonEncode(_ object: Any, options: JSONSerialization.WritingOptions = []) -> String?
-
json字符串解码为Foundation对象
Declaration
Swift
public var fw_jsonDecode: Any? { get }
-
base64编码
Declaration
Swift
public var fw_base64Encode: String? { get }
-
base64解码
Declaration
Swift
public var fw_base64Decode: String? { get }
-
计算长度,中文为1,英文为0.5,表情为2
Declaration
Swift
public var fw_unicodeLength: Int { get }
-
截取字符串,中文为1,英文为0.5,表情为2
Declaration
Swift
public func fw_unicodeSubstring(_ length: Int) -> String
-
Unicode中文编码,将中文转换成Unicode字符串(如\u7E8C)
Declaration
Swift
public var fw_unicodeEncode: String { get }
-
Unicode中文解码,将Unicode字符串(如\u7E8C)转换成中文
Declaration
Swift
public var fw_unicodeDecode: String { get }
-
url参数编码,适用于query参数编码
示例:http://test.com?id=我是中文 => http%3A%2F%2Ftest.com%3Fid%3D%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87
Declaration
Swift
public var fw_urlEncodeComponent: String? { get }
-
url参数解码,适用于query参数解码
示例:http%3A%2F%2Ftest.com%3Fid%3D%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87 => http://test.com?id=我是中文
Declaration
Swift
public var fw_urlDecodeComponent: String? { get }
-
url编码,适用于整个url编码
示例:http://test.com?id=我是中文 => http://test.com?id=%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87
Declaration
Swift
public var fw_urlEncode: String? { get }
-
url解码,适用于整个url解码
示例:http://test.com?id=%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87 => http://test.com?id=我是中文
Declaration
Swift
public var fw_urlDecode: String? { get }
-
字典编码为URL参数字符串
Declaration
Swift
public static func fw_queryEncode(_ dict: [String : Any]) -> String
-
URL参数字符串解码为字典,支持完整URL
Declaration
Swift
public var fw_queryDecode: [String : String] { get }
-
md5编码
Declaration
Swift
public var fw_md5Encode: String { get }
-
文件md5编码
Declaration
Swift
public var fw_md5EncodeFile: String? { get }
-
去掉首尾空白字符
Declaration
Swift
public var fw_trimString: String { get }
-
首字母大写
Declaration
Swift
public var fw_ucfirstString: String { get }
-
首字母小写
Declaration
Swift
public var fw_lcfirstString: String { get }
-
驼峰转下划线
Declaration
Swift
public var fw_underlineString: String { get }
-
下划线转驼峰
Declaration
Swift
public var fw_camelString: String { get }
-
中文转拼音
Declaration
Swift
public var fw_pinyinString: String { get }
-
中文转拼音并进行比较
Declaration
Swift
public func fw_pinyinCompare(_ string: String) -> ComparisonResult
-
是否包含Emoji表情
Declaration
Swift
public var fw_containsEmoji: Bool { get }
-
过滤JSON解码特殊字符
兼容\uD800-\uDFFF引起JSON解码报错3840问题,不报错时无需调用 规则:只允许以\uD800-\uDBFF高位开头,紧跟\uDC00-\uDFFF低位;其他全不允许 参考:https://github.com/SBJson/SBJson/blob/trunk/Classes/SBJson5StreamTokeniser.m
Declaration
Swift
public var fw_escapeJson: String { get }
-
从指定位置截取子串
Declaration
Swift
public func fw_substring(from index: Int) -> String
-
截取子串到指定位置
Declaration
Swift
public func fw_substring(to index: Int) -> String
-
截取指定范围的子串
Declaration
Swift
public func fw_substring(with range: NSRange) -> String
-
截取指定范围的子串
Declaration
Swift
public func fw_substring(with range: Range<Int>) -> String
-
将波浪线相对路径展开为绝对路径
Declaration
Swift
public var fw_expandingTildePath: String { get }
-
将绝对路径替换为波浪线相对路径
Declaration
Swift
public var fw_abbreviatingTildePath: String { get }
-
附加路径组件
Declaration
Swift
public func fw_appendingPath(_ component: String) -> String
-
附加路径组件数组
Declaration
Swift
public func fw_appendingPath(_ components: [String]) -> String
-
附加路径后缀,失败时返回空
Declaration
Swift
public func fw_appendingPathExtension(_ ext: String) -> String
-
计算多行字符串指定字体、指定属性在指定绘制区域内所占尺寸
Declaration
Swift
public func fw_size( font: UIFont, drawSize: CGSize = CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude), attributes: [NSAttributedString.Key: Any]? = nil ) -> CGSize
-
格式化文件大小为".0K/.1M/.1G"
Declaration
Swift
public static func fw_sizeString(_ aFileSize: UInt64) -> String
-
是否匹配正则表达式,示例:^[a-zA-Z0-9_\u4e00-\u9fa5]{4,14}$
Declaration
Swift
public func fw_matchesRegex(_ regex: String) -> Bool
-
安全截取字符串。解决末尾半个Emoji问题(半个Emoji调UTF8String为NULL,导致MD5签名等失败)
@param index 目标索引
Declaration
Swift
public func fw_emojiSubstring(_ index: Int) -> String
-
正则搜索子串
@param regex 正则表达式
Declaration
Swift
public func fw_regexSubstring(_ regex: String) -> String?
-
正则替换字符串
@param regex 正则表达式 @param string 替换模板,如"头部$1中部$2尾部“
@return 替换后的字符串
Declaration
Swift
public func fw_regexReplace(_ regex: String, string: String) -> String
-
正则匹配回调
Declaration
Swift
public func fw_regexMatches(_ regex: String, reverse: Bool = true, block: (NSRange) -> Void)
Parameters
regex
正则表达式
reverse
匹配结果是否反向,默认true
block
回调句柄。正向时range从小到大,反向时从大至小,方便replace
-
转义Html,如"a<“转义为"a<”
Declaration
Swift
public var fw_escapeHtml: String { get }
-
是否符合验证器
Declaration
Swift
public func fw_isValid(_ validator: Validator<String>) -> Bool