Visindigo::Utility::StringUtility Class
class Visindigo::Utility::StringUtility提供一些字符串相关的实用函数. 详情...
| 头文件: | #include <StringUtility> |
| 自以下版本: | Visindigo 0.14.0 |
静态公开成员
(自 Visindigo 0.16.0 引入) QString | autoElide(const QString &str, qint32 maxLength, const QString &elideStr = "...") |
(自 Visindigo 0.14.0 引入) QStringList | deduplicate(const QStringList &list) |
(自 Visindigo 0.14.0 引入) qint32 | getLevensteinDistance(const QString &s1, const QString &s2) |
(自 Visindigo 0.14.0 引入) QStringList | getSimilarStrings(const QString &target, const QStringList &candidates, int maxDistance = 3) |
(自 Visindigo 0.14.0 引入) QStringList | getStartWith(const QString &str, const QStringList &candidates, bool caseSensitive = true) |
(自 Visindigo 0.16.0 引入) Visindigo::Utility::StringUtility::Statistic | getStatistic(const QString &str) |
(自 Visindigo 0.15.0 引入) bool | isAllBlank(const QString &str) |
(自 Visindigo 0.16.0 引入) bool | isCJKV(int codePoint) |
详细说明
这个类提供一些和字符串相关的使用函数,它们都是静态函数。
成员函数文档
[static, since Visindigo 0.16.0] QString StringUtility::autoElide(const QString &str, qint32 maxLength, const QString &elideStr = "...")
str 输入字符串 maxLength 最大长度 elideStr 省略符字符串,默认为"..."。
return 如果输入字符串的长度超过最大长度,则返回一个被截断并添加省略符的字符串;否则返回原字符串。
这个function 从 Visindigo 0.16.0 开始支持。
[static, since Visindigo 0.14.0] QStringList StringUtility::deduplicate(const QStringList &list)
list 输入字符串列表
return 一个字符串列表,包含输入列表中所有不重复的字符串。重复的字符串只保留第一次出现的。
这个function 从 Visindigo 0.14.0 开始支持。
[static, since Visindigo 0.14.0] qint32 StringUtility::getLevensteinDistance(const QString &s1, const QString &s2)
s1 目标字符串 s2 候选字符串
return 两个字符串的编辑距离。编辑距离是指将一个字符串转换成另一个字符串所需要的最少编辑操作次数, 编辑操作包括插入一个字符、删除一个字符和替换一个字符。
一般而言,如果编辑距离不小于最短字符串的长度,可以认为这两个字符串完全不同。 如果将此函数用于纠错,可以考虑将编辑距离为1或2的字符串视为可能的纠错候选项。
这个function 从 Visindigo 0.14.0 开始支持。
[static, since Visindigo 0.14.0] QStringList StringUtility::getSimilarStrings(const QString &target, const QStringList &candidates, int maxDistance = 3)
target 目标字符串 candidates 候选字符串列表 maxDistance 最大编辑距离
return 一个字符串列表,包含所有与目标字符串的编辑距离不大于maxDistance的候选字符串。
这个function 从 Visindigo 0.14.0 开始支持。
[static, since Visindigo 0.14.0] QStringList StringUtility::getStartWith(const QString &str, const QStringList &candidates, bool caseSensitive = true)
str 输入字符串 candidates 候选字符串列表 caseSensitive 是否区分大小写
return 一个字符串列表,包含所有以指定字符串开头的候选字符串。可以选择是否区分大小写。
这个function 从 Visindigo 0.14.0 开始支持。
[static, since Visindigo 0.16.0] Visindigo::Utility::StringUtility::Statistic StringUtility::getStatistic(const QString &str)
str 输入字符串
return 一个包含字数、字符数、段落数等信息的统计结果。
统计规则: - WordCount:每个 CJKV 字符计为一个字,连续的由非 CJKV、非空白、非标点字符组成的片段计为一个词, 非 CJKV 标点也会作为词边界; - CharCountIncludeWhitespace:按 Unicode 码点计数的总字符数(包含空白); - CharCountExcludeWhitespace:不含空白字符的字符数; - CJKVCharCount / NonCJKVCharCount:中、日、韩、越(CJKV)相关字符的个数; - ParagraphCount:以换行符分隔的非空段落个数。
这个function 从 Visindigo 0.16.0 开始支持。
[static, since Visindigo 0.15.0] bool StringUtility::isAllBlank(const QString &str)
str 输入字符串
return 一个字符串是否全部由空白字符组成。空白字符包括空格、制表符、换行符等。
这个function 从 Visindigo 0.15.0 开始支持。
[static, since Visindigo 0.16.0] bool StringUtility::isCJKV(int codePoint)
codePoint 一个 Unicode 码点
return 该码点是否属于 CJKV (中日韩越统一表意文字)相关字符,包括 CJK 统一表意文字及其扩展区、 平假名、片假名、谚文、注音、CJK 符号与标点、全角/半角形式等。
这个function 从 Visindigo 0.16.0 开始支持。