# 运行时 / 字符串 ### `adjustLineBreaks(s, style)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ------- | ------------------- | ---- | | `s` | string | | | `style` | TTextLineBreakStyle | | 返回:string ### `ansiDequotedStr(s, aquote)` 字符串相关函数。 | 参数 | 类型 | 说明 | | -------- | ------ | ---- | | `s` | string | | | `aquote` | string | | 返回:string ### `ansiIndexStr(a_text, a_values)` 判定指定的字符串Atext可以匹配到的第一个由参数Avalues指定的字符串数组中元素索引号,就是数组的第几个元素(从0开始计算)。返回整数,如果没有找到匹配的字符串,就返回-1。与AnsiEndsText函数不同,字符串的匹配是大小写敏感的 注意:这种判定是基于大小写敏感 | 参数 | 类型 | 说明 | | ---------- | ------ | -------------------------- | | `a_text` | string | 字符串类型,需匹配、查找串 | | `a_values` | array | 字符串型数组,匹配串数组 | 返回:int ### `ansiIndexText(a_text, a_values)` 判定指定的字符串Atext可以匹配到的第一个由参数Avalues指定的字符串数组中元素索引号,就是数组的第几个元素(从0开始计算)。返回整数,如果没有找到匹配的字符串,就返回-1 注意:这种判定是基于大小写不敏感 | 参数 | 类型 | 说明 | | ---------- | ------ | -------------------------- | | `a_text` | string | 字符串类型,需匹配、查找串 | | `a_values` | array | 字符串型数组,匹配串数组 | 返回:int ### `ansiMatchStr(a_text, avalues)` 判定指定的字符串Atext是否可以匹配由参数Avalues指定的字符串数组中的某个字符串。返回布尔型真假值,如果Atext匹配到了Avalues数组中的某个字符串,就返回真,否则返回假。与AnsiMatchText函数不同,字符串的匹配是大小写敏感的 注意:这种判定是基于大小写敏感 | 参数 | 类型 | 说明 | | --------- | ------ | ---------------------- | | `a_text` | string | 字符串类型,子串 | | `avalues` | array | 字符串型数组,源串数组 | 返回:bool ### `ansiMatchText(a_text, avalues)` 判定指定的字符串Atext是否可以完全匹配由参数Avalues指定的字符串数组中的某个字符串。返回布尔型真假值,如果Atext匹配到了Avalues数组中的某个字符串,就返回真,否则返回假。 注意:这种判定是基于大小写不敏感。 | 参数 | 类型 | 说明 | | --------- | ------ | ---------------------- | | `a_text` | string | 字符串类型,子串 | | `avalues` | array | 字符串型数组,源串数组 | 返回:bool ### `ansiQuotedStr(s, quote)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ------- | ------ | ---- | | `s` | string | | | `quote` | string | | 返回:string ### `ansiStr2Array(value, aps)` 常用字符串函数相关函数。 | 参数 | 类型 | 说明 | | ------- | ------ | ---- | | `value` | string | | | `aps` | string | | 返回:array ### `boolToStr(s)` 将布尔型转换成字符串类型并返回。参数UseBoolStrs一般为假,如果B为真,函数返回'-1',如果B为假,返回'0'。若想返回’True’与’False’的结果可用BoolToStr2实现。 | 参数 | 类型 | 说明 | | ---- | ---- | ---------------------------------- | | `s` | bool | 数字字符串Default:布尔型,一般为假 | 返回:string ### `containsText(a_text, a_sub_text)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ------------ | ------ | ---- | | `a_text` | string | | | `a_sub_text` | string | | 返回:bool ### `dateTimeToString(format, date_time)` 根据参数Format给定的格式串将参数DateTime转换成字符串类型存到参数Result中,其中格式串的使用参照FormaTDateTime函数 | 参数 | 类型 | 说明 | | ----------- | -------- | ------------------------------- | | `format` | any | 字符串,格式串 | | `date_time` | datetime | TDateTime类型,需转换的日期时间 | 返回:string ### `eval(exp)` 表达式求值。返回,表达式的值。字符串表达式中支持return。TSL.EXE支持 tsl -eval "echo 100"的模式直接调用TSL语句。 表达式允许在跨函数中传导引用参数和变量 | 参数 | 类型 | 说明 | | ----- | ------------ | ----------------------------------------------------------------------------- | | `exp` | TExpression> | 表达式类型,要计算的表达式。函数表达式直接执行,字符串表达式需在字符串前加&。 | 返回:any ### `fHeader()` 字符串,TS-OPS服务注册时需要指定的头部信息,比如TS-OPS-CALL等。 类型:读写 返回:string ### `fUrl()` 字符串,TS-OPS服务注册地址 类型:读写 返回:string ### `importjsonstring(json)` 将json串转化为天软数据类型。 对大无符号数据会自动转换为长整型(INT64) 注意:输入的字符串应是ASCII编码的。因为JSON标准使用UTF8编码,所以请先使用天软Utf8ToAnsi将UTF8编码的字符串缓缓为ASCII编码。可参考下面的例程。 | 参数 | 类型 | 说明 | | ------ | ------ | ---------------- | | `json` | string | 字符串,json串。 | 返回:any ### `leftStr(text, num_chars)` 返回字符串从开始向左数Num_Chars个字符组成的字符串,支持多字节语言,一个汉字当成一个字符。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------- | | `text` | string | 字符串 | | `num_chars` | int | 字符个数 | 返回:string ### `ord(value)` 如果是STRING类型返回value\[1\]的ASCII序号,就是value字符串的第一个字符的ASCII序号,如果为WIDESTRING,则为UNICODE码。 | 参数 | 类型 | 说明 | | ------- | ------ | ------------ | | `value` | string | WideString\\ | 返回:int ### `reversebString(s)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ---- | ------ | ---- | | `s` | string | | 返回:string ## 发音相关函数 ### `rightStr(text, num_chars)` 前N个字符;基于所指定的字符数返回文本字符串中的最后一个或后几个字符; | 参数 | 类型 | 说明 | | ----------- | ------ | -------- | | `text` | string | 字符串 | | `num_chars` | int | 字符个数 | 返回:string ### `setChar(s, index, ch)` 设置字符串/二进制流中相应位置的字符。Char为0-255之间的整数类型 | 参数 | 类型 | 说明 | | ------- | ------ | ------------------- | | `s` | string | 字符串/二进制 | | `index` | any | 整数 | | `ch` | string | 0-225之间的整数类型 | 返回:string ### `setLikeFlag(flag, return_value)` 设置Like操作符号的正则表达式默认控制状态。默认值为1。 | 参数 | 类型 | 说明 | | -------------- | ---- | ------------------------------------------------------------------------------------- | | `flag` | int | 正则表达式控制模式,取值如下: 若同时设置多个模式,则设置参数值为其对应模式值之和即可 | | `return_value` | int | 匹配成功则返回真,否则返回假 | 返回:bool ### `soundexWord(a_text)` 发音相关函数相关函数。 | 参数 | 类型 | 说明 | | -------- | ------ | ---- | | `a_text` | string | | 返回:int ### `str2Array(value, aps)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ------- | ------ | ---- | | `value` | string | | | `aps` | string | | 返回:array ### `string(value)` 将数据转换为字符串。 | 参数 | 类型 | 说明 | | ------- | ------ | -------- | | `value` | string | 输入数据 | 返回:string ### `strSubscriptTableToNormal(t, fn)` 字符串下标数组-->索引下标数组。 | 参数 | 类型 | 说明 | | ---- | ------ | ---------------------------------------- | | `t` | array | 二维数组,数据 | | `fn` | string | 字符串或数值,行标变成数据之后使用的列名 | 返回:array ### `strToBool(s)` 如果S为'0',返回假,如果是非0的数字串,则返回真 | 参数 | 类型 | 说明 | | ---- | ------ | ---------- | | `s` | string | 数字字符串 | 返回:bool ### `strToCurr(s)` 将数字字符串S转换成实数返回,字符串中不允许有千分号,最大有效小数位为4位,超过四位小数的处理在不同的版本处理可能存在不一致的地方。 | 参数 | 类型 | 说明 | | ---- | ------ | ------ | | `s` | string | 字符串 | 返回:float ### `strToDate(s)` 将字符串S转换成TDateTime类型的日期 | 参数 | 类型 | 说明 | | ---- | ------ | ---------------------------------------- | | `s` | string | 字符串,日期的字符串类型,如"2014-01-17" | 返回:datetime ### `strToDateTime(s)` 将字符串S转换成TDateTime类型的日期和时间 | 参数 | 类型 | 说明 | | ---- | ------ | ----------------------------------------------------- | | `s` | string | 字符串,日期时间的字符串类型,如"2014-01-17 10:00:00" | 返回:datetime ### `strToFloat(s)` 将数字字符串S转换成实数返回,字符串中不允许有千分号 | 参数 | 类型 | 说明 | | ---- | ------ | ------ | | `s` | string | 字符串 | 返回:float ### `strToInt(s)` 将字符串转换为整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt | 参数 | 类型 | 说明 | | ---- | ------ | ------------------------ | | `s` | string | 字符串。需转换的字符串。 | 返回:int ### `strToInt32(s)` 将字符串转换为32位整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt32 | 参数 | 类型 | 说明 | | ---- | ------ | ------------------------ | | `s` | string | 字符串。需转换的字符串。 | 返回:int ### `strToInt64(s)` 将字符串转换为64位整数。 支持各种进制格式字符串的转换(如二进制、十六进制等)。若只转换十进制格式字符串,可使用函数FAQ:DecToInt64 | 参数 | 类型 | 说明 | | ---- | ------ | ------------------------ | | `s` | string | 字符串。需转换的字符串。 | 返回:int ### `strToTime(s)` 将字符串S转换成TDateTime类型的时间 | 参数 | 类型 | 说明 | | ---- | ------ | -------------------------------------- | | `s` | string | 字符串,时间的字符串类型,如"15:20:34" | 返回:datetime ### `tryStrToTime(s)` 将字符串S转换成TDateTime类型的时间并存到参数Value中。如果转换成功,则返回真,否则返回假 | 参数 | 类型 | 说明 | | ---- | ------ | ----------------------------------------------------------------------- | | `s` | string | 字符串,日期的字符串类型,如"2014-01-17";Default:TDateTime类型,默认值 | 返回:bool ### `unUnicodeEsc2(s)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ---- | ------ | ---- | | `s` | string | | 返回:string ### `unUnicodeEsc2W(s)` 字符串相关函数。 | 参数 | 类型 | 说明 | | ---- | ------ | ---- | | `s` | string | | 返回:string ### `writeFile(data_type, alias, file_name, pos, length, data)` 将数据写到本地文件。文件格式可以是字符流、整数流、实数流、字节流等。 多个线程同时写入时无需加锁等操作,仅需将位置设置为-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)` 浮点->字符串 | 参数 | 类型 | 说明 | | --- | --- | --- | | `r` | real | 实数 | | `n` | integer | 整型数据,保留的小数位数 | 返回:string #### 示例 ```tsl return floatToStrEx (12.6578, 2); // 结果:’ 12.66’ ``` ### `textToHtml(src)` 将字符串转化为HTML标准格式的串 | 参数 | 类型 | 说明 | | --- | --- | --- | | `src` | string | 字符串类型 | 返回:string #### 示例 ```tsl 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)` 将字符串转化为URL标准格式的串 | 参数 | 类型 | 说明 | | --- | --- | --- | | `a_src` | string | 字符串类型 | 返回:string #### 示例 ```tsl a_src := "#abcd 10"; return textToUrl(a_src); // 结果:%23abcd%20%2010 ``` ### `htmlToText(src)` 将HTML标准格式的串转化为文本字符串 | 参数 | 类型 | 说明 | | --- | --- | --- | | `src` | string | 字符串类型 | 返回:string #### 示例 ```tsl 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. ```