339 lines
8.0 KiB
Markdown
339 lines
8.0 KiB
Markdown
|
# 内置函数使用说明文档
|
|||
|
|
|||
|
本文档描述了系统提供的内置函数及其用法。这些函数可以在任务编辑器中直接使用,为任务流程提供强大的字符串处理功能。
|
|||
|
|
|||
|
## 字符串检查函数
|
|||
|
|
|||
|
### isBlank(str)
|
|||
|
检查字符串是否为null、空字符串或只包含空白字符。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串为空,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isBlank(null) // 返回 true
|
|||
|
isBlank("") // 返回 true
|
|||
|
isBlank(" ") // 返回 true
|
|||
|
isBlank("hello") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### isNotBlank(str)
|
|||
|
检查字符串是否不为空(不为 null 且不只包含空白字符)。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串不为空,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isNotBlank(null) // 返回 false
|
|||
|
isNotBlank("") // 返回 false
|
|||
|
isNotBlank(" ") // 返回 false
|
|||
|
isNotBlank("hello") // 返回 true
|
|||
|
```
|
|||
|
|
|||
|
### isAnyBlank(str1, str2, ...)
|
|||
|
检查多个字符串中是否有任意一个为空。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str1, str2, ...`: 要检查的字符串列表
|
|||
|
|
|||
|
**返回值**: 如果任何一个字符串为空,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isAnyBlank("hello", "world") // 返回 false
|
|||
|
isAnyBlank("hello", "") // 返回 true
|
|||
|
isAnyBlank("hello", " ") // 返回 true
|
|||
|
```
|
|||
|
|
|||
|
### isAllBlank(str1, str2, ...)
|
|||
|
检查多个字符串是否全部为空。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str1, str2, ...`: 要检查的字符串列表
|
|||
|
|
|||
|
**返回值**: 如果所有字符串都为空,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isAllBlank("", " ") // 返回 true
|
|||
|
isAllBlank("hello", "") // 返回 false
|
|||
|
isAllBlank("hello", "world") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### isNumeric(str)
|
|||
|
检查字符串是否为数字(整数或浮点数)。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串是数字,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isNumeric("123") // 返回 true
|
|||
|
isNumeric("123.45") // 返回 true
|
|||
|
isNumeric("abc") // 返回 false
|
|||
|
isNumeric("123abc") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### isAlpha(str)
|
|||
|
检查字符串是否只包含字母。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串只包含字母,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
isAlpha("abc") // 返回 true
|
|||
|
isAlpha("123") // 返回 false
|
|||
|
isAlpha("a1b") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
## 字符串匹配函数
|
|||
|
|
|||
|
### startsWith(str, prefix)
|
|||
|
检查字符串是否以指定前缀开头。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
- `prefix`: 前缀字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串以指定前缀开头,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
startsWith("hello world", "hello") // 返回 true
|
|||
|
startsWith("hello world", "world") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### endsWith(str, suffix)
|
|||
|
检查字符串是否以指定后缀结尾。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
- `suffix`: 后缀字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串以指定后缀结尾,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
endsWith("hello world", "world") // 返回 true
|
|||
|
endsWith("hello world", "hello") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### contains(str, substr)
|
|||
|
检查字符串是否包含指定子字符串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要检查的字符串
|
|||
|
- `substr`: 子字符串
|
|||
|
|
|||
|
**返回值**: 如果字符串包含指定子字符串,则返回 true;否则返回 false
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
contains("hello world", "lo wo") // 返回 true
|
|||
|
contains("hello world", "abc") // 返回 false
|
|||
|
```
|
|||
|
|
|||
|
### indexOf(str, substr, start, end)
|
|||
|
查找子字符串在字符串中的索引位置。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要搜索的字符串
|
|||
|
- `substr`: 要查找的子字符串
|
|||
|
- `start`: 开始搜索的位置,可选,默认为0
|
|||
|
- `end`: 结束搜索的位置,可选,默认为字符串末尾
|
|||
|
|
|||
|
**返回值**: 子字符串在字符串中的索引位置,如果找不到则返回 -1
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
indexOf("hello world", "world") // 返回 6
|
|||
|
indexOf("hello world", "o") // 返回 4
|
|||
|
indexOf("hello world", "o", 5) // 返回 7(从位置5开始查找)
|
|||
|
```
|
|||
|
|
|||
|
## 字符串操作函数
|
|||
|
|
|||
|
### split(str, separator, maxsplit)
|
|||
|
按指定分隔符拆分字符串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要拆分的字符串
|
|||
|
- `separator`: 分隔符
|
|||
|
- `maxsplit`: 最大拆分次数,可选,默认为 -1(无限制)
|
|||
|
|
|||
|
**返回值**: 拆分后的字符串列表
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
split("a,b,c", ",") // 返回 ["a", "b", "c"]
|
|||
|
split("a b c") // 返回 ["a", "b", "c"]
|
|||
|
split("a,b,c,d", ",", 2) // 返回 ["a", "b", "c,d"]
|
|||
|
```
|
|||
|
|
|||
|
### chop(str)
|
|||
|
去掉字符串的最后一个字符。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要处理的字符串
|
|||
|
|
|||
|
**返回值**: 处理后的字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
chop("hello") // 返回 "hell"
|
|||
|
chop("h") // 返回 ""
|
|||
|
chop("") // 返回 ""
|
|||
|
```
|
|||
|
|
|||
|
### chomp(str)
|
|||
|
去掉字符串末尾的换行符(\n、\r 或 \r\n)。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要处理的字符串
|
|||
|
|
|||
|
**返回值**: 处理后的字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
chomp("hello\n") // 返回 "hello"
|
|||
|
chomp("hello\r") // 返回 "hello"
|
|||
|
chomp("hello\r\n") // 返回 "hello"
|
|||
|
chomp("hello") // 返回 "hello"(保持不变)
|
|||
|
```
|
|||
|
|
|||
|
### difference(str1, str2)
|
|||
|
获取第二个字符串在第一个字符串中不一样的部分。
|
|||
|
从第二个字符串第一位去匹配第一个字符串,按照顺序比较。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str1`: 第一个字符串
|
|||
|
- `str2`: 第二个字符串
|
|||
|
|
|||
|
**返回值**: 不一样的部分,如果完全匹配则返回空字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
difference("abc", "abd") // 返回 "d"
|
|||
|
difference("abc", "abcd") // 返回 "d"
|
|||
|
difference("abc", "a") // 返回 ""
|
|||
|
```
|
|||
|
|
|||
|
### replace(str, old, new, count)
|
|||
|
替换字符串中的指定子串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 原字符串
|
|||
|
- `old`: 要替换的子串
|
|||
|
- `new`: 替换后的子串
|
|||
|
- `count`: 替换次数,可选,默认为 -1(全部替换)
|
|||
|
|
|||
|
**返回值**: 替换后的字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
replace("hello", "l", "x") // 返回 "hexxo"
|
|||
|
replace("hello", "l", "x", 1) // 返回 "hexlo"(只替换第一个)
|
|||
|
```
|
|||
|
|
|||
|
### remove(str, substr)
|
|||
|
从字符串中删除所有指定的子串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 原字符串
|
|||
|
- `substr`: 要删除的子串
|
|||
|
|
|||
|
**返回值**: 删除后的字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
remove("hello", "l") // 返回 "heo"
|
|||
|
remove("hello", "he") // 返回 "llo"
|
|||
|
```
|
|||
|
|
|||
|
### right(str, length)
|
|||
|
从右边获取指定长度的子字符串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 原字符串
|
|||
|
- `length`: 要获取的长度
|
|||
|
|
|||
|
**返回值**: 截取的子字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
right("hello", 2) // 返回 "lo"
|
|||
|
right("hello", 5) // 返回 "hello"
|
|||
|
right("hello", 0) // 返回 ""
|
|||
|
```
|
|||
|
|
|||
|
### left(str, length)
|
|||
|
从左边获取指定长度的子字符串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 原字符串
|
|||
|
- `length`: 要获取的长度
|
|||
|
|
|||
|
**返回值**: 截取的子字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
left("hello", 2) // 返回 "he"
|
|||
|
left("hello", 5) // 返回 "hello"
|
|||
|
left("hello", 0) // 返回 ""
|
|||
|
```
|
|||
|
|
|||
|
### length(str)
|
|||
|
获取字符串的长度。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要测量的字符串
|
|||
|
|
|||
|
**返回值**: 字符串的长度,如果为 null 则返回 0
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
length("hello") // 返回 5
|
|||
|
length("") // 返回 0
|
|||
|
length(null) // 返回 0
|
|||
|
```
|
|||
|
|
|||
|
### reverse(str)
|
|||
|
反转字符串。
|
|||
|
|
|||
|
**参数**:
|
|||
|
- `str`: 要反转的字符串
|
|||
|
|
|||
|
**返回值**: 反转后的字符串
|
|||
|
|
|||
|
**示例**:
|
|||
|
```javascript
|
|||
|
reverse("hello") // 返回 "olleh"
|
|||
|
reverse("a") // 返回 "a"
|
|||
|
reverse("") // 返回 ""
|
|||
|
```
|
|||
|
|
|||
|
## 使用场景
|
|||
|
|
|||
|
这些内置函数在以下场景中特别有用:
|
|||
|
|
|||
|
1. **输入验证** - 使用 `isBlank`、`isNumeric` 等函数验证输入参数
|
|||
|
2. **字符串处理** - 使用 `replace`、`remove` 等函数处理字符串
|
|||
|
3. **条件判断** - 使用 `startsWith`、`contains` 等函数进行条件判断
|
|||
|
4. **数据格式化** - 使用 `split`、`right`、`left` 等函数格式化数据
|
|||
|
|
|||
|
## 注意事项
|
|||
|
|
|||
|
1. 所有函数对 null 值都有保护处理,不会引发异常
|
|||
|
2. 字符串索引从 0 开始
|
|||
|
3. 在使用函数时,请确保参数类型正确,避免类型错误
|