TwitterText logo

MIT License Swift 5.1 Github Actions


这是 twitter-text 解析库的 Swift 实现。 该库包含解析推文并计算长度、有效性,解析 @提及、#话题标签、URL 等的方法。

设置

直接将 twitter-text 添加到您的 Package.swift 文件

dependencies: [
    // ...
    .package(url: "https://github.com/nysander/twitter-text.git", from:"0.0.1"),
],
targets: [
.target(name: "Your App", dependencies: [
    /// ...
    .product(name: "twitter-text", package: "twitter-text"),
]),

或通过 Xcode

搜索 https://github.com/nysander/twitter-text.git 仓库

Xcode setup

一致性测试

要从命令行运行一致性测试套件

% swift test --enable-test-discovery

您也可以从 Xcode 内部运行测试。 打开项目文件,然后像往常一样运行测试 (Cmd-U)。

API

twitter-text 2.0 引入了配置文件,用于定义如何解析推文的长度。 这允许向后兼容和未来的灵活性。 旧式的传统 140 字符解析由 v1.json 配置文件定义,而 v2.json 针对“加权”推文进行了更新,其中 Unicode 代码点范围可以具有独立于默认权重的权重。 所有代码点的总和(每个代码点都经过适当加权)不应超过最大加权长度。

twitter-text 1.0 中的一些旧方法已被标记为已弃用,例如各种 +tweetLength: 方法。 新的 API 基于以下方法,-parseTweet:

- TwitterTextParser parseTweet(text:)

此方法接受字符串作为输入,并返回一个结果对象,其中包含有关该字符串的信息。 TwitterTextParseResults 包括

问题

发现错误? 请在 GitHub 上创建一个 issue!

https://github.com/nysander/twitter-text/issues

作者

灵感来源

该库直接基于其 Objective-C 实现,可以在 twitter/twitter-text 仓库中找到,由 Satoshi NakagawaDavid LaMacchiaKeh-Li Sheng 编写。

使用 3.1.0 版本作为参考。 此库中使用的所有测试用例 JSON 文件均直接从上述仓库复制,以保持一致性并确保结果相同。

许可

版权所有 2020 Paweł Madej 和其他贡献者

根据 MIT 许可证获得许可