SEStringUtilities 0.2.0

SEStringUtilities 0.2.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年9月

Brian Nickel 维护。



  • Brian Nickel

SEStringUtilities 提供了在 Stack Exchange.app 中使用的许多有用字符串函数。

NSAttributedString+SETokenReplacement

NSStringNSAttributedString 上的分类,允许您以清晰和可本地化的方式进行字符串模板化。类似于 Mustache,但用于小字符串,并支持属性字符串。

NSAttributedString *username = ...;
NSString *creationDate = ...;
label.attributedText =
    [NSLocalizedString(@"- Asked by {username} on {creationDate}", nil)
     SE_attributedStringByReplacingTokensWithValues:NSDictionaryOfVariableBindings(username, creationDate)];
let username:NSAttributedString = ...
let creationDate:String = ...
label.attributedText =
    NSLocalizedString("- Asked by {username} on {creationDate}", comment:"").
    SE_attributedStringByReplacingTokensWithValues({"username": username, "creationDate": creationDate})

在这些示例中,username 是一个使用其 own 风格的属性字符串,而 creationDate 是一个从父属性字符串继承其样式的字符串。

NSString+SERegularExpressions

NSString 上提供一个分类,提供与 JavaScript 的 String.prototype.replace 相似的功能。

-[NSString SE_stringByReplacingPattern:options:withTemplate:]-[NSRegularExpression stringByReplacingMatchesInString:options:range:withTemplate:] 相似,但它更简洁,因为它负责创建正则表达式并假设一些默认值。

另一方面,-[NSString SE_stringByReplacingPattern:options:withBlock:] 添加了新的功能,您可以轻松地为 block 的内容提供自己的复杂转换。 SEMarkdownEditor 使用此功能进行包括 此异常递归转换在内的复杂操作。

这两种方法都有一个 ReplacingFirstOccranceOfPattern 变体,它将更改限制为第一次匹配。

安装

pod 'SEStringUtilities'