✨ feat(tsl-api-reference): add class and framework API lookup
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,262 @@
|
||||
# 基础函数 / 日期时间
|
||||
|
||||
## `endOfTheHalfYear(end_t)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回Endt所在半年的截止日期(半年的最后一天)
|
||||
|
||||
<!-- tags: 返回 获取 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | --------- | ---- |
|
||||
| `end_t` | tdatetime | 日期 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
end_t := 40540; // 40540表示2010年12月28日
|
||||
return endOfTheHalfYear (end_t);
|
||||
// 输出:40543 ;40543表示2010年12月31号
|
||||
```
|
||||
|
||||
## `endOfTheQuarter(end_t)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回Endt所在季度的截止日期(季度的最后一天)
|
||||
|
||||
<!-- tags: 返回 获取 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | --------- | ---- |
|
||||
| `end_t` | tdatetime | 日期 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
end_t := 40540; // 40540表示2010年12月28日
|
||||
return endOfTheQuarter (end_t);
|
||||
// 输出:40543 ;40543表示2010年12月31号
|
||||
```
|
||||
|
||||
## `excelDateToInt(r_date)`
|
||||
|
||||
声明:function
|
||||
|
||||
将日期型报告期转化成整数型报告期
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | --------- | ------------ |
|
||||
| `r_date` | tdatetime | 日期型报告期 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
r_date := 20101231;
|
||||
return excelDateToInt(r_date);
|
||||
// 输出:20101231
|
||||
```
|
||||
|
||||
## `excelIntToDate(r_date)`
|
||||
|
||||
声明:function
|
||||
|
||||
将报告期类型日期转化成实数型
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ------------------ |
|
||||
| `r_date` | integer | 整型类的报告期日期 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 报告期为2010年年报
|
||||
r_date := 20101231;
|
||||
return excelIntToDate(r_date);
|
||||
// 输出:40543
|
||||
```
|
||||
|
||||
## `excelRDate(r_date)`
|
||||
|
||||
声明:function
|
||||
|
||||
将整数报告期转换成Excel的字符串日期类型
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------- |
|
||||
| `r_date` | integer | 报告期,一般用整型日期表示 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
r_date := 20101231;
|
||||
return excelRDate(r_date);
|
||||
// 输出:2010-12-31
|
||||
```
|
||||
|
||||
## `formatStrToDateTime2(s, format_str)`
|
||||
|
||||
声明:function
|
||||
|
||||
格式化字符串->日期时间(包含毫秒)
|
||||
|
||||
<!-- tags: 格式化 format -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---------------------- |
|
||||
| `s` | string | 字符串类型,时间字符串 |
|
||||
| `format_str` | string | 字符串类型,格式字符串 |
|
||||
|
||||
返回:datetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||||
s := "2021.01.04T23:00:00.000";
|
||||
format_str := "yyyy.mm.ddThh:nn:ss.zzz";
|
||||
return formatStrToDateTime2(s, format_str); // 输出:44200.9583333333
|
||||
```
|
||||
|
||||
## `incHalfYear(a_value, number)`
|
||||
|
||||
声明:function
|
||||
|
||||
求Avalue的日期开始往后推移Number个半年的日期
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | --------- | -------------------------------- |
|
||||
| `a_value` | tdatetime | 实数表示的日期 |
|
||||
| `number` | integer | 向后推移的整数,负数表示向前推移 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
avalue := 40179; // 40179表示2010年1月1号
|
||||
number := 2;
|
||||
return incHalfYear(a_value, number);
|
||||
// 输出:40544 ;40544表示2011年1月1号
|
||||
```
|
||||
|
||||
## `incQuarter(avalue, number)`
|
||||
|
||||
声明:function
|
||||
|
||||
求Avalue的日期开始往后推移Number个季度的日期
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | --------- | ---------------------------------- |
|
||||
| `avalue` | tdatetime | 实数表示的日期 |
|
||||
| `number` | integer | 向后推移的整数。负数表示向前推移。 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
avalue := 40179; // 40179表示2010年1月1号
|
||||
number := 2;
|
||||
return incQuarter(a_value, number);
|
||||
// 输出:40360 ;40360表示2010年7月1号
|
||||
```
|
||||
|
||||
## `startOfTheHalfYear(end_t)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回Endt所在半年的开始日期(半年的第一天)
|
||||
|
||||
<!-- tags: 返回 获取 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | --------- | ---- |
|
||||
| `end_t` | tdatetime | 日期 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
end_t := 40599; // 40559表示2011年1月16号
|
||||
return startOfTheHalfYear(end_t);
|
||||
// 输出:40544 ;40544表示2011年1月1号
|
||||
```
|
||||
|
||||
## `startOfTheQuarter(end_t)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回Endt所在季度的开始日期(季度的第一天)
|
||||
|
||||
<!-- tags: 返回 获取 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | --------- | ---- |
|
||||
| `end_t` | tdatetime | 日期 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
end_t := 40540; // 40540表示2010年12月28日
|
||||
return startOfTheQuarter (end_t);
|
||||
// 输出:40452 ;40452表示2010年10月1号
|
||||
```
|
||||
|
||||
## `strToDateExt(s, str_format)`
|
||||
|
||||
声明:function
|
||||
|
||||
将字符串类型的日期按照不同的格式转换成实数型的日期
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------- | ------------------------------------------ |
|
||||
| `s` | string | 字符串类型的日期,包含3中形式,见下表。 |
|
||||
| `str_format` | integer | 标准化的日期格式,对应的S分别用0、1、2表示 |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
s := '16/1/2011';
|
||||
str_format := 0;
|
||||
return strToDateExt(s, str_format);
|
||||
// 输出:40559
|
||||
```
|
||||
|
||||
## `strtodatetime2(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
字符串->日期时间(包含毫秒)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `s` | string | S的格式必须为:yyyy-m-d h:m:s:z 其中日期和时间需要用空格隔开,时间分隔必须用: 如"2021-8-12 10:31:24:199" |
|
||||
|
||||
返回:tdatetime
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||||
s := "2021-8-12 10:31:24:199";
|
||||
return strtodatetime2(s); // 输出:44420.4384745255
|
||||
```
|
||||
@@ -0,0 +1,180 @@
|
||||
# 基础函数 / 数字
|
||||
|
||||
## `dataisequal(v1, v2)`
|
||||
|
||||
声明:function
|
||||
|
||||
判断2个变量是否相等
|
||||
|
||||
<!-- tags: 判断 检查 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | -------------- |
|
||||
| `v1` | any | 任意类型,变量1 |
|
||||
| `v2` | any | 任意类型,变量2 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
echo dataisequal(array("code": "A"), array("code": "A"));
|
||||
```
|
||||
|
||||
## `divValue(v1, v2)`
|
||||
|
||||
声明:function
|
||||
|
||||
除法运算
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ------------ |
|
||||
| `v1` | real | 实数,被除数 |
|
||||
| `v2` | real | 实数,除数 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return divValue(8, 2);
|
||||
// 输出:4
|
||||
```
|
||||
|
||||
## `floatN(r, n)`
|
||||
|
||||
声明:function
|
||||
|
||||
使用银行家算法进行四舍五入,精确到10Adigit位。"四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一"
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------- | ------------------------ |
|
||||
| `r` | real | 实数 |
|
||||
| `n` | integer | 整型数据,保留的小数位数 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return floatN(12.6578, 2);
|
||||
// 输出:12.66
|
||||
```
|
||||
|
||||
## `floatToStrEx(r, n)`
|
||||
|
||||
声明:function
|
||||
|
||||
浮点->字符串
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------- | ------------------------ |
|
||||
| `r` | real | 实数 |
|
||||
| `n` | integer | 整型数据,保留的小数位数 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return floatToStrEx (12.6578, 2);
|
||||
// 输出: 12.66
|
||||
```
|
||||
|
||||
## `formatFloatExt(v, dtype)`
|
||||
|
||||
声明:function
|
||||
|
||||
格式化输出-数字
|
||||
|
||||
<!-- tags: 格式化 format -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ---------- |
|
||||
| `v` | real | 实数 |
|
||||
| `dtype` | integer | 数据的格式 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:按指定格式输出数字
|
||||
|
||||
```tsl
|
||||
return formatFloatExt(12345.67, 1);
|
||||
// 输出: 12,345.67
|
||||
```
|
||||
|
||||
范例02:输入不是数字时返回占位符
|
||||
|
||||
```tsl
|
||||
return formatFloatExt("123");
|
||||
// 输出: -
|
||||
```
|
||||
|
||||
## `roundTo5(v)`
|
||||
|
||||
声明:function
|
||||
|
||||
.5处理
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---- |
|
||||
| `v` | real | 实数 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return roundTo5(0.35);
|
||||
// 输出:0.5
|
||||
```
|
||||
|
||||
## `simpleRoundTo2(avalue, adigit)`
|
||||
|
||||
声明:function
|
||||
|
||||
四舍五入(交易所规则),正负数不对称,即四舍六入,五向较大的数进位(正负有别,如保留一位小数时+0.05)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------- |
|
||||
| `avalue` | Real | 实数数据 |
|
||||
| `adigit` | Integer | 精确到Adigit位 |
|
||||
|
||||
返回:Real
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:保留两位小数的正数
|
||||
|
||||
```tsl
|
||||
return simpleRoundTo2(1234.56789654, -2);
|
||||
// 输出:1234.57
|
||||
```
|
||||
|
||||
范例02:保留两位小数的负数
|
||||
|
||||
```tsl
|
||||
return simpleRoundTo2(-1234.5658965, -2);
|
||||
// 输出:-1234.56
|
||||
```
|
||||
|
||||
## `webZero(v)`
|
||||
|
||||
声明:function
|
||||
|
||||
Web中显示零处理,当数值为0或者空字符串的时候显示为空字符串,其他情况显示其值本身
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | -------------- | ------------ |
|
||||
| `v` | integer/string | 任意类型的值 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return webZero(0);
|
||||
// 输出:空字符串
|
||||
```
|
||||
@@ -0,0 +1,676 @@
|
||||
# 基础函数 / 字符串
|
||||
|
||||
## `toHttpPostdata(v, data_mode)`
|
||||
|
||||
声明:function
|
||||
|
||||
根据数据模式转换为字符串格式
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------ |
|
||||
| `v` | any | 待转换的数据 |
|
||||
| `data_mode` | string | 数据模式,支持 `json` 和 `tslstream` |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
value := array("Type": 1, "IDs": array("SZ000001"), "SUBs": array("date_s", "price"));
|
||||
echo toHttpPostdata(value, "json");
|
||||
// 输出:{"Type":1,"IDs":["SZ000001"],"SUBs":["date_s","price"]}
|
||||
```
|
||||
|
||||
## `dateStrToArr(end_dates, sep1, sep2)`
|
||||
|
||||
声明:function
|
||||
|
||||
把日期区间字符串转换为列表
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------- |
|
||||
| `end_dates` | string | 日期区间字符串 |
|
||||
| `sep1` | string | 日期区间字符串分割符 |
|
||||
| `sep2` | string | 开始和截止日期分割符 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return dateStrToArr('2007-9-10;2007-9-10', '$', ';'); // 输出:'$'表示结束位置
|
||||
```
|
||||
|
||||
## `floatToStrne(value)`
|
||||
|
||||
声明:function
|
||||
|
||||
将实数转换成字符串类型。和FloatToStr的区别:在处理浮点数据时,FloatToStrne的结果不会输出为1E15等格式
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ---- |
|
||||
| `value` | real | 实数 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换普通浮点数
|
||||
|
||||
```tsl
|
||||
return floatToStrne(23.4);
|
||||
// 输出:"23.4"
|
||||
```
|
||||
|
||||
范例02:转换大数量级浮点数
|
||||
|
||||
```tsl
|
||||
return floatToStrne(1E15);
|
||||
// 输出:"1000000000000000"
|
||||
```
|
||||
|
||||
## `floatToStrneW(value)`
|
||||
|
||||
声明:function
|
||||
|
||||
将实数转换成宽字节字符串类型。和FloatToStrW的区别:在处理大数量级数据(如1E15、10^15等)时,FloatToStrneW的结果不会输出为1E15等格式
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ---- |
|
||||
| `value` | real | 实数 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换普通浮点数
|
||||
|
||||
```tsl
|
||||
return floatToStrneW(1234.1234);
|
||||
// 输出:L"1234.1234"
|
||||
```
|
||||
|
||||
范例02:转换大数量级浮点数
|
||||
|
||||
```tsl
|
||||
return floatToStrneW(1E15);
|
||||
// 输出:L"1000000000000000"
|
||||
```
|
||||
|
||||
## `formatStrExt(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
判断字符串是否是字符串,不是字符串的显示为"-"
|
||||
|
||||
<!-- tags: 判断 检查 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------ |
|
||||
| `s` | string | 字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:输入字符串
|
||||
|
||||
```tsl
|
||||
return formatStrExt('aaaaa');
|
||||
// 输出:aaaaa
|
||||
```
|
||||
|
||||
范例02:输入不是字符串时返回占位符
|
||||
|
||||
```tsl
|
||||
return formatStrExt(123);
|
||||
// 输出:-
|
||||
```
|
||||
|
||||
## `fuzzyCompare(_type, s1, s2)`
|
||||
|
||||
声明:function
|
||||
|
||||
根据指定算法,计算两字符串的相似性
|
||||
|
||||
<!-- tags: 计算 求解 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ------------------------------------ |
|
||||
| `_type` | integer | 模糊匹配算法类型,支持如下几种算法: |
|
||||
| `s1` | string | 字符串1 |
|
||||
| `s2` | string | 字符串2 |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 使用Jaccard相似度算法,计算字符串"kitten"和"sitting"的相似性
|
||||
return fuzzyCompare(fzJaccard(), "kitten", "sitting"); // 等价于FuzzyCompare(2,"kitten","sitting")
|
||||
// 输出:0.222222222222222
|
||||
```
|
||||
|
||||
## `fuzzyCompareEx(_type, s1, s2, n, nret)`
|
||||
|
||||
声明:function
|
||||
|
||||
根据指定算法,计算两字符串的相似性
|
||||
|
||||
<!-- tags: 计算 求解 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ---------------------------------------------------------------------------------- |
|
||||
| `_type` | integer | 模糊匹配算法类型,支持如下几种算法: |
|
||||
| `s1` | string | 字符串1 |
|
||||
| `s2` | string | 字符串2 |
|
||||
| `n` | integer | 仅指定算法为FzJaccard、FzCosine、FzSimHash时,该参数有效;其对应含义和默认值如下: |
|
||||
| `nret` | integer | 输出值;指定不同的算法时,其对应含义如下: |
|
||||
|
||||
返回:real
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
// 使用Jaccard相似度算法,指定切分字符长度为1,计算字符串"kitten"和"sitting"的相似性
|
||||
t := fuzzyCompareEx(fzJaccard(), "kitten", "sitting", 1, nret);
|
||||
return array(t, nret);
|
||||
// t值为相似性,nret值为两字符串切分后交集中元素个数,返回值为array(0.428571428571429,3)
|
||||
```
|
||||
|
||||
## `fzCosine()`
|
||||
|
||||
声明:function
|
||||
|
||||
Cosine(余弦相似度)算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,将字符集合转换为向量,计算两向量夹角的余弦值
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算,字符切分长度为2
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzCosine(), "kitten", "sitting");
|
||||
// 输出:0.365148371670111
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
|
||||
|
||||
```tsl
|
||||
return fuzzyCompareEx(fzCosine(), "kitten", "sitting", 1, nret);
|
||||
// 输出:0.746202507244636
|
||||
// 算法对比解析:
|
||||
// FuzzyCompare:字符切分长度为2,字符串"kitten"切分后的集合为:{ki, it, tt, te, en},"sitting":{si, it, tt, ti, in, ng};转换成向量分别为:[1, 1, 1, 1, 1, 0, 0, 0, 0]、[0, 1, 1, 0, 0, 1, 1, 1, 1],代入算法中,计算出的相似度为0.365148371670111
|
||||
// FuzzyCompareEx:字符切分长度为1,字符串"kitten"切分后的集合为:{k, i, t, e, n},"sitting":{s, i, t, n, g},转换成向量分别为:[1, 1, 2, 1, 1, 0, 0]、[0, 2, 2, 0, 1, 1, 1],代入算法中,计算出的相似度为0.746202507244636
|
||||
```
|
||||
|
||||
## `fzEditDistance()`
|
||||
|
||||
声明:function
|
||||
|
||||
基于编辑距离(Edit Distance)的模糊匹配算法,核心是计算将一个字符串转换为另一个字符串所需的最小编辑操作次数,允许的操作包含插入、删除、替换三类
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzEditDistance(), "kitten", "sitting");
|
||||
// 输出:0.571428571428571
|
||||
```
|
||||
|
||||
范例一:FuzzyCompareEx相似性计算
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzEditDistance(), "kitten", "sitting", n, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.571428571428571,3)
|
||||
// 算法对比解析:
|
||||
// 字符串"kitten"转换为"sitting"需要3步(k->s,e->i,添加g),字符串总长度7,相似度为1-3/7=4/7(即0.571428571428571)
|
||||
```
|
||||
|
||||
## `fzHammingDistance()`
|
||||
|
||||
声明:function
|
||||
|
||||
Hamming Distance(汉明距离)算法类型:计算两字符串对应位置上不同字符的数量
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzHammingDistance(), "kitten", "sitting");
|
||||
// 输出:0.571428571428571
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzHammingDistance(), "kitten", "sitting", n, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.571428571428571,3)
|
||||
// 算法对比解析:
|
||||
// 字符串"kitten"、"sitting"对应位置上不同的字符有3处(k->s, e->i, g),字符串总长度为7,相似度为1-3/7=4/7(即0.571428571428571)
|
||||
```
|
||||
|
||||
## `fzJaccard()`
|
||||
|
||||
声明:function
|
||||
|
||||
Jaccard相似度算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,计算两集合交集元素个数与并集元素个数的比值
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算,字符切分长度为2
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzJaccard(), "kitten", "sitting");
|
||||
// 输出:0.222222222222222
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzJaccard(), "kitten", "sitting", 1, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.428571428571429,3)
|
||||
// 算法对比解析:
|
||||
// FuzzyCompare:字符切分长度为2,字符串"kitten"切分后的集合为:{ki, it, tt, te, en},"sitting"为:{si, it, tt, ti, in, ng};交集:{it, tt},并集:{ki, it, tt, te, en, si, ti, in, ng},相似度为2/9(即0.222222222222222)
|
||||
// FuzzyCompareEx:指定字符切分长度为1,字符串"kitten"切分后的集合为:{k, i, t, e, n},"sitting"为:{s, i, t, n, g},交集:{i, t, n},并集:{k, i, t, e, n, s, g},相似度为3/7(即0.428571428571429)
|
||||
```
|
||||
|
||||
## `fzJaroWinkler()`
|
||||
|
||||
声明:function
|
||||
|
||||
Jaro-Winkler距离算法类型:先统计两字符串的匹配字符数与换位次数,并代入Jaro距离算法公式,得到相似度,再根据两字符串的公共前缀长度给予额外加权,得到最终的相似度
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzJaroWinkler(), "kitten", "sitting");
|
||||
// 输出:0.746031746031746
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompareEx(fzJaroWinkler(), "kitten", "sitting", n, nret);
|
||||
// 输出:0.746031746031746
|
||||
```
|
||||
|
||||
## `fzLongestSequnce()`
|
||||
|
||||
声明:function
|
||||
|
||||
Longest Sequnce(最长公共子序列)算法类型:找出两字符串中顺序相同但不必连续的最长子序列
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzLongestSequnce(), "kitten", "sitting");
|
||||
// 输出:0.571428571428571
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzLongestSequnce(), "kitten", "sitting", n, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.571428571428571,4)
|
||||
// 算法对比解析:
|
||||
// 字符串"kitten"、"sitting"中顺序相同但不必连续的最长子序列为"ittn",字符串总长度为7,相似度为4/7(即0.571428571428571)
|
||||
```
|
||||
|
||||
## `fzLongestSubstring()`
|
||||
|
||||
声明:function
|
||||
|
||||
Longest Substring(最长公共子串)算法类型:找出两字符串中连续出现的最长相同子串
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzLongestSubstring(), "kitten", "sitting");
|
||||
// 输出:0.428571428571429
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzLongestSubstring(), "kitten", "sitting", n, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.428571428571429,3)
|
||||
// 算法对比解析:
|
||||
// 字符串"kitten"、"sitting"中连续出现的最长相同子串为"itt",字符串总长度为7,相似度为3/7(即0.428571428571429)
|
||||
```
|
||||
|
||||
## `fzSimHash()`
|
||||
|
||||
声明:function
|
||||
|
||||
SimHash(局部敏感哈希)算法类型:对字符串分词并计算加权哈希生成二进制指纹,比较两个指纹间的对应位置上不同字符的数量
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例一:FuzzyCompare相似性计算,特征词数量为3
|
||||
|
||||
```tsl
|
||||
return fuzzyCompare(fzSimHash(), "kitten", "sitting");
|
||||
// 输出:0.640625
|
||||
```
|
||||
|
||||
范例二:FuzzyCompareEx相似性计算,特征词数量为1
|
||||
|
||||
```tsl
|
||||
t := fuzzyCompareEx(fzSimHash(), "kitten", "sitting", 1, nret);
|
||||
return array(t, nret);
|
||||
// 输出:array(0.921875,5)
|
||||
```
|
||||
|
||||
## `getPyStringList()`
|
||||
|
||||
声明:function
|
||||
|
||||
获取汉字拼音首字母对照表
|
||||
|
||||
<!-- tags: 获取 查询 -->
|
||||
|
||||
返回:tslobj
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
sl := getPyStringList();
|
||||
return sl.values("明");
|
||||
// 输出:M
|
||||
```
|
||||
|
||||
## `hztoPy(hz)`
|
||||
|
||||
声明:function
|
||||
|
||||
汉字翻译为拼音
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ----------- |
|
||||
| `hz` | string | String 汉字 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换第一个词组
|
||||
|
||||
```tsl
|
||||
return hztoPy("华夏优势");
|
||||
// 输出:HXYS
|
||||
```
|
||||
|
||||
范例02:转换多音字词组
|
||||
|
||||
```tsl
|
||||
return hztoPy("华夏盛势");
|
||||
// 输出:HXCS HXSS
|
||||
```
|
||||
|
||||
## `letters(vlaue, ul)`
|
||||
|
||||
声明:function
|
||||
|
||||
将数字与在字符串进行对照转换。基本用法同R的letters。在超出26的时候,仿excel的列名的规则提取。用于将excel数字列名转为字符串列名:1->'A'
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ----------------------- |
|
||||
| `vlaue` | integer | 整数。正整数列名 |
|
||||
| `ul` | integer | 整数。是否大写,默认为1 |
|
||||
|
||||
返回:string/array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return letters(1, 0);
|
||||
// 输出:a
|
||||
```
|
||||
|
||||
## `parseRegExpr3(s, reg_from_text, to_text, parse_ctrls)`
|
||||
|
||||
声明:function
|
||||
|
||||
直接返回输出的正则表达式解析
|
||||
|
||||
<!-- tags: 解析 parse -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | -------------------------------- |
|
||||
| `s` | string | 字符串。源串 |
|
||||
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
|
||||
| `to_text` | string | 字符串。替换的字符串 |
|
||||
| `parse_ctrls` | string | 字符串。正则表达式控制串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return parseRegExpr3("abcdeak", "ab", "kkkk", "ir");
|
||||
// 输出:kkkkcdeak
|
||||
```
|
||||
|
||||
## `rDateStrToArr(rdate_list)`
|
||||
|
||||
声明:function
|
||||
|
||||
把报告期字符串转换为列表
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ------------------------------------------ |
|
||||
| `rdate_list` | string | 字符串,报告期字符串,多个报告期以分号区分 |
|
||||
|
||||
返回:array
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return rDateStrToArr('20070331;20070630');
|
||||
```
|
||||
|
||||
## `replaceStrByReg(s, reg_from_text, to_text)`
|
||||
|
||||
声明:function
|
||||
|
||||
正则表达式快速字符串替换,大小写敏感
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | -------------------------------- |
|
||||
| `s` | string | 字符串。源串 |
|
||||
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
|
||||
| `to_text` | string | 字符串。替换的字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return replaceStrByReg("abcdeak", "A", "kkkk");
|
||||
// 输出:abcdeak
|
||||
```
|
||||
|
||||
## `replaceTextByReg(s, reg_from_text, to_text)`
|
||||
|
||||
声明:function
|
||||
|
||||
正则表达式快速字符串替换,大小写不敏感
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | -------------------------------- |
|
||||
| `s` | string | 字符串。源串 |
|
||||
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
|
||||
| `to_text` | string | 字符串。替换的字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return replaceTextByReg("abcdeak", "a", "kkkk");
|
||||
// 输出:kkkkbcdekkkkk
|
||||
```
|
||||
|
||||
## `seprateStrToTotal(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
把用;分割的字符串转换为#分割
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------ |
|
||||
| `s` | string | 字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return seprateStrToTotal('债券型;现金型;配置型;股票型;保本型');
|
||||
// 输出:债券型#现金型#配置型#股票型#保本型
|
||||
```
|
||||
|
||||
## `spaceByNumber(n)`
|
||||
|
||||
声明:function
|
||||
|
||||
生成N个空格字符串
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------- | ---- |
|
||||
| `n` | integer | 整数 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return write('---', spaceByNumber(2), '---');
|
||||
// 运行信息打印结果:
|
||||
```
|
||||
|
||||
## `tostring(v)`
|
||||
|
||||
声明:function
|
||||
|
||||
将数值转成字符串类型
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ---- |
|
||||
| `v` | number | 数值 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
echo tostring(123.45);
|
||||
```
|
||||
|
||||
## `totalStrToSeprate(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
把用#分割的字符串转换为;分割
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------ |
|
||||
| `s` | string | 字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return totalStrToSeprate ('债券型#现金型#配置型#股票型#保本型');
|
||||
// 输出:债券型;现金型;配置型;股票型;保本型
|
||||
```
|
||||
|
||||
## `tryLowercase(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
将字符串S转换成小写并返回,不抛出异常,转换失败时返回""
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | --------------- |
|
||||
| `s` | string | 字符串,原字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return tryUppercase("ABC");
|
||||
// 输出:"abc"
|
||||
```
|
||||
|
||||
## `tryUppercase(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
将字符串S转换成大写并返回,不抛出异常,转换失败时返回""
|
||||
|
||||
<!-- tags: 转换 编码 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | --------------- |
|
||||
| `s` | string | 字符串,原字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
return tryUppercase("abc");
|
||||
// 输出:"ABC"
|
||||
```
|
||||
Reference in New Issue
Block a user