40 KiB
运行时 / 字符串
adjustLineBreaks(s, style)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | |
style |
TTextLineBreakStyle |
返回:string
ansiDequotedStr(s, aquote)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | |
aquote |
string |
返回:string
ansiIndexStr(a_text, a_values)
声明:function
判定指定的字符串Atext可以匹配到的第一个由参数Avalues指定的字符串数组中元素索引号,就是数组的第几个元素(从0开始计算)。返回整数,如果没有找到匹配的字符串,就返回-1。与AnsiEndsText函数不同,字符串的匹配是大小写敏感的 注意:这种判定是基于大小写敏感
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string | 字符串类型,需匹配、查找串 |
a_values |
array | 字符串型数组,匹配串数组 |
返回:int
ansiIndexText(a_text, a_values)
声明:function
判定指定的字符串Atext可以匹配到的第一个由参数Avalues指定的字符串数组中元素索引号,就是数组的第几个元素(从0开始计算)。返回整数,如果没有找到匹配的字符串,就返回-1 注意:这种判定是基于大小写不敏感
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string | 字符串类型,需匹配、查找串 |
a_values |
array | 字符串型数组,匹配串数组 |
返回:int
ansiMatchStr(a_text, avalues)
声明:function
判定指定的字符串Atext是否可以匹配由参数Avalues指定的字符串数组中的某个字符串。返回布尔型真假值,如果Atext匹配到了Avalues数组中的某个字符串,就返回真,否则返回假。与AnsiMatchText函数不同,字符串的匹配是大小写敏感的 注意:这种判定是基于大小写敏感
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string | 字符串类型,子串 |
avalues |
array | 字符串型数组,源串数组 |
返回:bool
ansiMatchText(a_text, avalues)
声明:function
判定指定的字符串Atext是否可以完全匹配由参数Avalues指定的字符串数组中的某个字符串。返回布尔型真假值,如果Atext匹配到了Avalues数组中的某个字符串,就返回真,否则返回假。 注意:这种判定是基于大小写不敏感。
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string | 字符串类型,子串 |
avalues |
array | 字符串型数组,源串数组 |
返回:bool
ansiQuotedStr(s, quote)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | |
quote |
string |
返回:string
ansiStr2Array(value, aps)
声明:function
常用字符串函数相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
value |
string | |
aps |
string |
返回:array
boolToStr(s)
声明:function
将布尔型转换成字符串类型并返回。参数UseBoolStrs一般为假,如果B为真,函数返回'-1',如果B为假,返回'0'。若想返回’True’与’False’的结果可用BoolToStr2实现。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
bool | 数字字符串Default:布尔型,一般为假 |
返回:string
containsText(a_text, a_sub_text)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string | |
a_sub_text |
string |
返回:bool
dateTimeToString(format, date_time)
声明:function
根据参数Format给定的格式串将参数DateTime转换成字符串类型存到参数Result中,其中格式串的使用参照FormaTDateTime函数
| 参数 | 类型 | 说明 |
|---|---|---|
format |
any | 字符串,格式串 |
date_time |
datetime | TDateTime类型,需转换的日期时间 |
返回:string
eval(exp)
声明:function
表达式求值。返回,表达式的值。字符串表达式中支持return。TSL.EXE支持 tsl -eval "echo 100"的模式直接调用TSL语句。 表达式允许在跨函数中传导引用参数和变量
| 参数 | 类型 | 说明 |
|---|---|---|
exp |
TExpression> | 表达式类型,要计算的表达式。函数表达式直接执行,字符串表达式需在字符串前加&。 |
返回:any
fHeader()
声明:function
字符串,TS-OPS服务注册时需要指定的头部信息,比如TS-OPS-CALL等。 类型:读写
返回:string
fUrl()
声明:function
字符串,TS-OPS服务注册地址 类型:读写
返回:string
importjsonstring(json)
声明:function
将json串转化为天软数据类型。 对大无符号数据会自动转换为长整型(INT64) 注意:输入的字符串应是ASCII编码的。因为JSON标准使用UTF8编码,所以请先使用天软Utf8ToAnsi将UTF8编码的字符串缓缓为ASCII编码。可参考下面的例程。
| 参数 | 类型 | 说明 |
|---|---|---|
json |
string | 字符串,json串。 |
返回:any
leftStr(text, num_chars)
声明:function
返回字符串从开始向左数Num_Chars个字符组成的字符串,支持多字节语言,一个汉字当成一个字符。
| 参数 | 类型 | 说明 |
|---|---|---|
text |
string | 字符串 |
num_chars |
int | 字符个数 |
返回:string
ord(value)
声明:function
如果是STRING类型返回value[1]的ASCII序号,就是value字符串的第一个字符的ASCII序号,如果为WIDESTRING,则为UNICODE码。
| 参数 | 类型 | 说明 |
|---|---|---|
value |
string | WideString\ |
返回:int
reversebString(s)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string |
返回:string
发音相关函数
rightStr(text, num_chars)
声明:function
前N个字符;基于所指定的字符数返回文本字符串中的最后一个或后几个字符;
| 参数 | 类型 | 说明 |
|---|---|---|
text |
string | 字符串 |
num_chars |
int | 字符个数 |
返回:string
setChar(s, index, ch)
声明:function
设置字符串/二进制流中相应位置的字符。Char为0-255之间的整数类型
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串/二进制 |
index |
any | 整数 |
ch |
string | 0-225之间的整数类型 |
返回:string
setLikeFlag(flag, return_value)
声明:function
设置Like操作符号的正则表达式默认控制状态。默认值为1。
| 参数 | 类型 | 说明 |
|---|---|---|
flag |
int | 正则表达式控制模式,取值如下: 若同时设置多个模式,则设置参数值为其对应模式值之和即可 |
return_value |
int | 匹配成功则返回真,否则返回假 |
返回:bool
soundexWord(a_text)
声明:function
发音相关函数相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
a_text |
string |
返回:int
str2Array(value, aps)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
value |
string | |
aps |
string |
返回:array
string(value)
声明:function
将数据转换为字符串。
| 参数 | 类型 | 说明 |
|---|---|---|
value |
string | 输入数据 |
返回:string
strSubscriptTableToNormal(t, fn)
声明:function
字符串下标数组-->索引下标数组。
| 参数 | 类型 | 说明 |
|---|---|---|
t |
array | 二维数组,数据 |
fn |
string | 字符串或数值,行标变成数据之后使用的列名 |
返回:array
strToBool(s)
声明:function
如果S为'0',返回假,如果是非0的数字串,则返回真
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 数字字符串 |
返回:bool
strToCurr(s)
声明:function
将数字字符串S转换成实数返回,字符串中不允许有千分号,最大有效小数位为4位,超过四位小数的处理在不同的版本处理可能存在不一致的地方。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串 |
返回:float
strToDate(s)
声明:function
将字符串S转换成TDateTime类型的日期
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,日期的字符串类型,如"2014-01-17" |
返回:datetime
strToDateTime(s)
声明:function
将字符串S转换成TDateTime类型的日期和时间
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,日期时间的字符串类型,如"2014-01-17 10:00:00" |
返回:datetime
strToFloat(s)
声明:function
将数字字符串S转换成实数返回,字符串中不允许有千分号
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串 |
返回:float
strToInt(s)
声明:function
将字符串转换为整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串。 |
返回:int
strToInt32(s)
声明:function
将字符串转换为32位整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt32
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串。 |
返回:int
strToInt64(s)
声明:function
将字符串转换为64位整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt64
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串。 |
返回:int
strToTime(s)
声明:function
将字符串S转换成TDateTime类型的时间
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,时间的字符串类型,如"15:20:34" |
返回:datetime
tryStrToTime(s)
声明:function
将字符串S转换成TDateTime类型的时间并存到参数Value中。如果转换成功,则返回真,否则返回假
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,日期的字符串类型,如"2014-01-17";Default:TDateTime类型,默认值 |
返回:bool
unUnicodeEsc2(s)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string |
返回:string
unUnicodeEsc2W(s)
声明:function
字符串相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string |
返回:string
writeFile(data_type, alias, file_name, pos, length, data)
声明:function
将数据写到本地文件。文件格式可以是字符流、整数流、实数流、字节流等。 多个线程同时写入时无需加锁等操作,仅需将位置设置为-1则可保障追加模式,如果调用失败,可检测返回值为字符串后然后重试即可。(当多线程尝试打开同一个文件写入时会返回错误)
| 参数 | 类型 | 说明 |
|---|---|---|
data_type |
int | 整数类型。参考文件读写类型函数。 |
alias |
string | 字符串类型。参考目录别名。 |
file_name |
int | 字符串类型。文件名称。 |
pos |
int | 整数类型。写文件的偏移位置,执行结束后将返回新的位置。 如果设为-1,则每次导出到文件的末尾(不会覆盖已有的数据)。 如果设为0,则从文件第一个位置开始导出(会覆盖掉原有位置的数据)。 如果设为1,则从文件的第二个位置开始导出,同0会覆盖,2,3,…依此类推。 如果设为-2,-3-4….,则如同设为0的效果。 |
length |
any | 整数类型。写入的数据长度。 |
data |
string | 写入的数据。如果文件类型不是rwRaw或者rwBinary则Data为一个指定类型的数组,否则,为需要写入的字符串。 |
返回:string
字符串与格式转换函数
floatToStrEx(r, n)
声明:function
浮点->字符串
| 参数 | 类型 | 说明 |
|---|---|---|
r |
real | 实数 |
n |
integer | 整型数据,保留的小数位数 |
返回:string
示例
return floatToStrEx (12.6578, 2);
// 结果:’ 12.66’
textToHtml(src)
声明:function
将字符串转化为HTML标准格式的串
| 参数 | 类型 | 说明 |
|---|---|---|
src |
string | 字符串类型 |
返回:string
示例
src := "The First LETTER won\'t be replaced by \'one\', but the Second letter will.";
return textToHtml(src);
// 结果:
The First LETTER won't be replaced by 'one', but the Second letter will.
textToUrl(a_src)
声明:function
将字符串转化为URL标准格式的串
| 参数 | 类型 | 说明 |
|---|---|---|
a_src |
string | 字符串类型 |
返回:string
示例
a_src := "#abcd 10";
return textToUrl(a_src);
// 结果:%23abcd%20%2010
htmlToText(src)
声明:function
将HTML标准格式的串转化为文本字符串
| 参数 | 类型 | 说明 |
|---|---|---|
src |
string | 字符串类型 |
返回:string
示例
Src := "The First LETTER won't be replaced by 'one', but the Second letter will.";
return htmlToText(src);
// 结果:The First LETTER won't be replaced by 'one', but the Second letter will.
字符串 / 正则、模糊匹配、进制与拼音(由 base 迁入)
getPyStringList()
声明:function
汉字拼音首字母对照表
返回:tslobj
示例
sl := getPyStringList();
return sl.values("明");
// 返回:M
sameFileName(s1, s2)
声明:function
比较两个文件名是否相同,如果同名返回true,否则返回false。
| 参数 | 类型 | 说明 |
|---|---|---|
s1 |
string | 字符串,比较的文件名1 |
s2 |
string | 字符串,比较的文件名2 |
返回:bool
示例
return sameFileName('index.tsl', "test.tsl");
// 输出:0
formatFloatExt(v, dtype)
声明:function
格式化输出-数字
| 参数 | 类型 | 说明 |
|---|---|---|
v |
real | 实数 |
dtype |
integer | 数据的格式 |
返回:string
示例
return formatFloatExt(12345.67, 1);
// 结果:’ 12,345.67’
return formatFloatExt("123");
// 结果:’ -’
spaceByNumber(n)
声明:function
生成N个空格字符串
| 参数 | 类型 | 说明 |
|---|---|---|
n |
integer | 整数 |
返回:string
示例
return write('---', spaceByNumber(2), '---');
// 运行信息打印结果:
tryUppercase(s)
声明:function
将字符串S转换成大写并返回,不抛出异常,转换失败时返回""
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,原字符串 |
返回:string
示例
return tryUppercase("abc");
// 结果:"ABC"
tryLowercase(s)
声明:function
将字符串S转换成小写并返回,不抛出异常,转换失败时返回""
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串,原字符串 |
返回:string
示例
return tryUppercase("ABC");
// 结果:"abc"
letters(vlaue, ul)
声明:function
将数字与在字符串进行对照转换。基本用法同R的letters。在超出26的时候,仿excel的列名的规则提取。用于将excel数字列名转为字符串列名:1->'A'。
| 参数 | 类型 | 说明 |
|---|---|---|
vlaue |
integer | 整数。正整数列名 |
ul |
integer | 整数。是否大写,默认为1 |
返回:string/array
示例
return letters(1, 0);
// 结果:a
decToInt64(s)
声明:function
将字符串转换为64位整数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串。 |
返回:integer
示例
范例01:
return decToInt64("12"); // 输出: 12L
范例02:十六进制格式字符串的转换
return decToInt64("0x12"); // 报错
return strToInt64("0x12"); // 输出:18L
decToInt64Def(s, default)
声明:function
将字符串转换为64位整数。如果转换失败,则返回Default值。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
default |
integer | 整数。转换失败时返回的默认值 |
返回:integer
示例
范例01
return decToInt64Def("12", 1); // 输出: 12L
return decToInt64Def("test", 1); // 输出: 1L
范例02:十六进制格式字符串的转换
return decToInt64Def("0x12", 1); // 输出: 1L
return strToInt64Def("0x12", 1); // 输出:18L
tryDecToInt64(s, value)
声明:function
将字符串转换为64位整数。若转换成功,转换值通过Value输出。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
value |
integer|nil | 变参。转换成功,为转换后的整数;否则,为NIL值。 |
返回:bool
示例
范例01:转换成功
ret := tryDecToInt64("12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: 12L
范例02:转换失败
ret := tryDecToInt64("test", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
范例03:十六进制格式字符串的转换
ret := tryDecToInt64("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
ret := tryStrToInt64("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出:18L
decToInt32(s)
声明:function
将字符串转换为32位整数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
返回:integer
示例
范例01
return decToInt32("12"); // 输出: 12
范例02:十六进制格式字符串的转换
return decToInt32("0x12"); // 报错
return strToInt32("0x12"); // 输出:18
decToInt32Def(s, default)
声明:function
将字符串转换为32位整数。如果转换失败,则返回Default值。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
default |
integer | 整数。转换失败时返回的默认值 |
返回:integer
示例
范例01
return decToInt32Def("12", 1); // 输出: 12
return decToInt32Def("test", 1); // 输出: 1
范例02:十六进制格式字符串的转换
return decToInt32Def("0x12", 1); // 输出: 1
return strToInt32Def("0x12", 1); // 输出:18
tryDecToInt32(s, value)
声明:function
将字符串转换为32位整数。若转换成功,转换值通过Value输出。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
value |
integer|nil | 变参。转换成功,为转换后的整数;否则,为NIL值。 |
返回:bool
示例
范例01:转换成功
ret := tryDecToInt32("12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: 12
范例02:转换失败
ret := tryDecToInt32("test", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
范例03:十六进制格式字符串的转换
ret := tryDecToInt32("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
ret := tryStrToInt32("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出:18
decToInt(s)
声明:function
将字符串转换为整数。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
返回:integer
示例
范例01
return decToInt("12"); // 输出: 12
范例02:十六进制格式字符串的转换
return decToInt("0x12"); // 报错
return strToInt("0x12"); // 输出:18
decToIntDef(s, default)
声明:function
将字符串转换为整数。如果转换失败,则返回Default值。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
default |
integer | 整数。转换失败时返回的默认值 |
返回:integer
示例
范例01
return decToIntDef("12", 1); // 输出: 12
return decToIntDef("test", 1); // 输出: 1
范例02:十六进制格式字符串的转换
return decToIntDef("0x12", 1); // 输出: 1
return strToIntDef("0x12", 1); // 输出:18
tryDecToInt(s, value)
声明:function
将字符串转换为整数。若转换成功,转换值通过Value输出。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。需转换的字符串 |
value |
integer|nil | 变参。转换成功,为转换后的整数;否则,为NIL值。 |
返回:bool
示例
范例01:转换成功
ret := tryDecToInt("12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: 12
范例02:转换失败
ret := tryDecToInt("test", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
范例03:十六进制格式字符串的转换
ret := tryDecToInt("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出: "转换失败!"
ret := tryStrToInt("0x12", value);
if ret then
return value;
else
return "转换失败!";
// 输出:18
floatToStrne(value)
声明:function
将实数转换成字符串类型。和FloatToStr的区别:在处理浮点数据时,FloatToStrne的结果不会输出为1E15等格式
| 参数 | 类型 | 说明 |
|---|---|---|
value |
real | 实数 |
返回:string
示例
return floatToStrne(23.4);
// 输出字符串:"23.4"
return floatToStrne(1E15);
// 大数量级数据,输出:"1000000000000000"
fuzzyCompare(_type, s1, s2)
声明:function
根据指定算法,计算两字符串的相似性
| 参数 | 类型 | 说明 |
|---|---|---|
_type |
integer | 模糊匹配算法类型,支持如下几种算法: |
s1 |
string | 字符串1 |
s2 |
string | 字符串2 |
返回:real
示例
// 使用Jaccard相似度算法,计算字符串"kitten"和"sitting"的相似性
return fuzzyCompare(fzJaccard(), "kitten", "sitting"); // 等价于FuzzyCompare(2,"kitten","sitting")
// 返回:0.222222222222222
fuzzyCompareEx(_type, s1, s2, n, nret)
声明:function
根据指定算法,计算两字符串的相似性
| 参数 | 类型 | 说明 |
|---|---|---|
_type |
integer | 模糊匹配算法类型,支持如下几种算法: |
s1 |
string | 字符串1 |
s2 |
string | 字符串2 |
n |
integer | 仅指定算法为FzJaccard、FzCosine、FzSimHash时,该参数有效;其对应含义和默认值如下: |
nret |
integer | 输出值;指定不同的算法时,其对应含义如下: |
返回:real
示例
// 使用Jaccard相似度算法,指定切分字符长度为1,计算字符串"kitten"和"sitting"的相似性
t := fuzzyCompareEx(fzJaccard(), "kitten", "sitting", 1, nret);
return array(t, nret);
// t值为相似性,nret值为两字符串切分后交集中元素个数,返回值为array(0.428571428571429,3)
fzEditDistance()
声明:function
基于编辑距离(Edit Distance)的模糊匹配算法,核心是计算将一个字符串转换为另一个字符串所需的最小编辑操作次数,允许的操作包含插入、删除、替换三类。
返回:integer
示例
范例一:FuzzyCompare相似性计算
return fuzzyCompare(fzEditDistance(), "kitten", "sitting");
// 返回:0.571428571428571
范例一:FuzzyCompareEx相似性计算
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相似性计算
return fuzzyCompare(fzHammingDistance(), "kitten", "sitting");
// 返回:0.571428571428571
范例二:FuzzyCompareEx相似性计算
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)
fzLongestSubstring()
声明:function
Longest Substring(最长公共子串)算法类型:找出两字符串中连续出现的最长相同子串。
返回:integer
示例
范例一:FuzzyCompare相似性计算
return fuzzyCompare(fzLongestSubstring(), "kitten", "sitting");
// 返回:0.428571428571429
范例二:FuzzyCompareEx相似性计算
t := fuzzyCompareEx(fzLongestSubstring(), "kitten", "sitting", n, nret);
return array(t, nret);
// 返回:array(0.428571428571429,3)
// 算法对比解析:
// 字符串"kitten"、"sitting"中连续出现的最长相同子串为"itt",字符串总长度为7,相似度为3/7(即0.428571428571429)
fzLongestSequnce()
声明:function
Longest Sequnce(最长公共子序列)算法类型:找出两字符串中顺序相同但不必连续的最长子序列
返回:integer
示例
范例一:FuzzyCompare相似性计算
return fuzzyCompare(fzLongestSequnce(), "kitten", "sitting");
// 返回:0.571428571428571
范例二:FuzzyCompareEx相似性计算
t := fuzzyCompareEx(fzLongestSequnce(), "kitten", "sitting", n, nret);
return array(t, nret);
// 返回:array(0.571428571428571,4)
// 算法对比解析:
// 字符串"kitten"、"sitting"中顺序相同但不必连续的最长子序列为"ittn",字符串总长度为7,相似度为4/7(即0.571428571428571)
fzJaccard()
声明:function
Jaccard相似度算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,计算两集合交集元素个数与并集元素个数的比值。
返回:integer
示例
范例一:FuzzyCompare相似性计算,字符切分长度为2
return fuzzyCompare(fzJaccard(), "kitten", "sitting");
// 返回:0.222222222222222
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
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)
fzCosine()
声明:function
Cosine(余弦相似度)算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,将字符集合转换为向量,计算两向量夹角的余弦值。
返回:integer
示例
范例一:FuzzyCompare相似性计算,字符切分长度为2
return fuzzyCompare(fzCosine(), "kitten", "sitting");
// 返回:0.365148371670111
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
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
fzJaroWinkler()
声明:function
Jaro-Winkler距离算法类型:先统计两字符串的匹配字符数与换位次数,并代入Jaro距离算法公式,得到相似度,再根据两字符串的公共前缀长度给予额外加权,得到最终的相似度
返回:integer
示例
范例一:FuzzyCompare相似性计算
return fuzzyCompare(fzJaroWinkler(), "kitten", "sitting");
// 返回:0.746031746031746
范例二:FuzzyCompareEx相似性计算
return fuzzyCompareEx(fzJaroWinkler(), "kitten", "sitting", n, nret);
// 返回:0.746031746031746
fzSimHash()
声明:function
SimHash(局部敏感哈希)算法类型:对字符串分词并计算加权哈希生成二进制指纹,比较两个指纹间的对应位置上不同字符的数量
返回:integer
示例
范例一:FuzzyCompare相似性计算,特征词数量为3
return fuzzyCompare(fzSimHash(), "kitten", "sitting");
// 返回:0.640625
范例二:FuzzyCompareEx相似性计算,特征词数量为1
t := fuzzyCompareEx(fzSimHash(), "kitten", "sitting", 1, nret);
return array(t, nret);
// 返回:array(0.921875,5)
formatStrExt(s)
声明:function
判断字符串是否是字符串,不是字符串的显示为“-”
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串 |
返回:string
示例
return formatStrExt('aaaaa');
// 结果:’aaaaa’
return formatStrExt(123);
// 结果:’-’
seprateStrToTotal(s)
声明:function
把用;分割的字符串转换为#分割
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串 |
返回:string
示例
return seprateStrToTotal('债券型;现金型;配置型;股票型;保本型');
// 结果:’债券型#现金型#配置型#股票型#保本型’
totalStrToSeprate(s)
声明:function
把用#分割的字符串转换为;分割
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串 |
返回:string
示例
return totalStrToSeprate ('债券型#现金型#配置型#股票型#保本型');
// 结果:’债券型;现金型;配置型;股票型;保本型’
dateStrToArr(end_dates, sep1, sep2)
声明:function
把日期区间字符串转换为列表
| 参数 | 类型 | 说明 |
|---|---|---|
end_dates |
string | 日期区间字符串 |
sep1 |
string | 日期区间字符串分割符 |
sep2 |
string | 开始和截止日期分割符 |
返回:array
示例
return dateStrToArr('2007-9-10;2007-9-10', '$', ';'); // '$'表示结束位置
// 输出:
// 示例包含说明文字,未作为可执行片段运行。
rDateStrToArr(rdate_list)
声明:function
把报告期字符串转换为列表
| 参数 | 类型 | 说明 |
|---|---|---|
rdate_list |
string | 字符串,报告期字符串,多个报告期以分号区分 |
返回:array
示例
return rDateStrToArr('20070331;20070630');
// 输出:
// Execute script error at Line:1
// function:__main__:line 1:instruction:usercall: function:rDateStrToArr compile error or not found
// function:__main__:line 1:instruction:usercall: function execute error
replaceStrByReg(s, reg_from_text, to_text)
声明:function
正则表达式快速字符串替换,大小写敏感。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。源串 |
reg_from_text |
string | 字符串。待替换的部分,正则表达式 |
to_text |
string | 字符串。替换的字符串 |
返回:string
示例
return replaceStrByReg("abcdeak", "A", "kkkk");
// 结果:abcdeak
replaceTextByReg(s, reg_from_text, to_text)
声明:function
正则表达式快速字符串替换,大小写不敏感。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。源串 |
reg_from_text |
string | 字符串。待替换的部分,正则表达式 |
to_text |
string | 字符串。替换的字符串 |
返回:string
示例
return replaceTextByReg("abcdeak", "a", "kkkk");
// 结果:kkkkbcdekkkkk
parseRegExpr3(s, reg_from_text, to_text, parse_ctrls)
声明:function
直接返回输出的正则表达式解析。
| 参数 | 类型 | 说明 |
|---|---|---|
s |
string | 字符串。源串 |
reg_from_text |
string | 字符串。待替换的部分,正则表达式 |
to_text |
string | 字符串。替换的字符串 |
parse_ctrls |
string | 字符串。正则表达式控制串 |
返回:string
示例
return parseRegExpr3("abcdeak", "ab", "kkkk", "ir");
// 结果:kkkkcdeak
floatToStrneW(value)
声明:function
将实数转换成宽字节字符串类型。和FloatToStrW的区别:在处理大数量级数据(如1E15、10^15等)时,FloatToStrneW的结果不会输出为1E15等格式。
| 参数 | 类型 | 说明 |
|---|---|---|
value |
real | 实数 |
返回:string
示例
return floatToStrneW(1234.1234);
// 输出:L"1234.1234"
return floatToStrneW(1E15);
// 大数量级数据,输出:L"1000000000000000"
hztoPy(hz)
声明:function
汉字翻译为拼音
| 参数 | 类型 | 说明 |
|---|---|---|
hz |
string | String 汉字 |
返回:string
示例
return hztoPy("华夏优势"); // HXYS
return hztoPy("华夏盛势"); // HXCS HXSS
tostring(v)
声明:function
将数值转成字符串类型
| 参数 | 类型 | 说明 |
|---|---|---|
v |
number | 数值 |
返回:string
DT_Date()
声明:function
返回'Date'字符串。
返回:string
DT_Str()
声明:function
返回'String'字符串。
返回:string
DT_Real()
声明:function
返回'Real'字符串。
返回:string