Skip to content

字符串(String)#

String.base64Decode()#

描述: 将纯文本转换为 base64 编码的字符串

语法: String.base64Encode()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"aGVsbG8=".base64Decode() //=> "hello"

String.base64Encode()#

描述: 将 base64 编码的字符串转换为纯文本

语法: String.base64Encode()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"hello".base64Encode() //=> "aGVsbG8="

String.concat()#

描述: 将一个或多个字符串添加到基础字符串的末尾。或者,使用 + 运算符(参见示例)。

语法: String.concat(string1, string2?, ..., stringN?)

返回值: 字符串

来源: JavaScript 函数

参数:

  • string1(字符串)- 要附加的第一个字符串
  • string2(字符串)- 可选 - 要附加的第二个字符串
  • stringN(字符串)- 可选 - 要追加的第 N 个字符串

示例:

1
2
'sea'.concat('food') //=> 'seafood'
'sea' + 'food' //=> 'seafood'
1
'work'.concat('a', 'holic') //=> 'workaholic'

String.extractDomain()#

描述: 如果字符串是电子邮件地址或 URL,则返回其域名(如果未找到则返回 undefined)。

如果字符串还包含其他内容,先尝试使用 extractEmail()extractUrl()

语法: String.extractDomain()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"me@example.com".extractDomain() //=> 'example.com'
1
"http://n8n.nodejs.cn/workflows".extractDomain() //=> 'n8n.io'
1
"It's me@example.com".extractEmail().extractDomain() //=> 'example.com'

String.extractEmail()#

描述: 从字符串中提取第一个找到的电子邮件。如果未找到,则返回undefined

语法: String.extractEmail()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"My email is me@example.com".extractEmail() //=> 'me@example.com'

String.extractUrl()#

描述: 从字符串中提取第一个找到的 URL。如果未找到,则返回 undefined。仅识别完整的 URL,例如以 http 开头的 URL。

语法: String.extractUrl()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"Check out http://n8n.nodejs.cn".extractUrl() //=> 'http://n8n.nodejs.cn'

String.extractUrlPath()#

描述: 返回域名之后的 URL 部分,如果未找到 URL,则返回 undefined

如果字符串还包含其他内容,先尝试使用 extractUrl()

语法: String.extractUrlPath()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"http://n8n.nodejs.cn/workflows".extractUrlPath() //=> '/workflows'
1
"Check out http://n8n.nodejs.cn/workflows".extractUrl().extractUrlPath() //=> '/workflows'

String.hash()#

描述: 返回使用给定算法哈希的字符串。如果未指定,则默认为 md5。

语法: String.hash(算法?)

返回值: 字符串

来源: 自定义 n8n 功能

参数:

  • algo(字符串)- 可选 - 要使用的哈希算法。可选之一为 md5base64sha1sha224sha256sha384sha512sha3ripemd160

示例:

1
"hello".hash() //=> '5d41402abc4b2a76b9719d911017c592'

String.includes()#

描述: 如果字符串包含 searchString,则返回 true。区分大小写。

语法: String.includes(searchString, start?)

返回值: 布尔类型

来源: JavaScript 函数

参数:

  • searchString(字符串)- 要搜索的文本
  • start(数字)- 可选 - 开始搜索的位置(索引)

示例:

1
2
'team'.includes('tea') //=> true
'team'.includes('i') //=> false 
1
2
3
// Returns false if the case doesn't match, so consider using .toLowerCase() first
'team'.includes('Tea') //=> false
'Team'.toLowerCase().includes('tea') //=> true

String.indexOf()#

描述: 返回基字符串中 searchString 第一次出现的位置索引,如果未找到则返回 -1。区分大小写。

语法: String.indexOf(searchString, start?)

返回值: 数字

来源: JavaScript 函数

参数:

  • searchString(字符串)- 要搜索的文本
  • start(数字)- 可选 - 开始搜索的位置(索引)

示例:

1
2
'steam'.indexOf('tea') //=> 1
'steam'.indexOf('i') //=> -1 
1
2
3
// Returns -1 if the case doesn't match, so consider using .toLowerCase() first
'STEAM'.indexOf('tea') //=> -1
'STEAM'.toLowerCase().indexOf('tea') //=> 1

String.isDomain()#

描述: 如果字符串是域名,则返回 true

语法: String.isDomain()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"n8n.io".isDomain() //=> true
1
"http://n8n.nodejs.cn".isDomain() //=> false
1
"hello".isDomain() //=> false

String.isEmail()#

描述: 如果字符串是电子邮件,则返回 true

语法: String.isEmail()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"me@example.com".isEmail() //=> true
1
"It's me@example.com".isEmail() //=> false
1
"hello".isEmail() //=> false

String.isEmpty()#

描述: 如果字符串没有字符或为 null,则返回 true

语法: String.isEmpty()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"".isEmpty() // => true
1
"hello".isEmpty() // => false

String.isNotEmpty()#

描述: 如果字符串至少有一个字符,则返回 true

语法: String.isNotEmpty()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"hello".isNotEmpty() // => true
1
"".isNotEmpty() // => false

String.isNumeric()#

描述: 如果字符串表示一个数字,则返回 true

语法: String.isNumeric()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"1.2234".isNumeric() // true
1
"hello".isNumeric() // false
1
"123E23".isNumeric() // true

String.isUrl()#

描述: 如果字符串是有效的 URL,则返回 true

语法: String.isUrl()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"https://n8n.nodejs.cn".isUrl() //=> true
1
"n8n.io".isUrl() //=> false
1
"hello".isUrl() //=> false

String.length#

描述: 字符串中的字符数

语法: String.length

返回值: 数字

来源: JavaScript 函数

示例:

1
"hello".length //=> 5

String.match()#

描述: 将字符串与 正则表达式进行匹配。返回一个包含第一个匹配项的数组,如果正则表达式中设置了g标志,则返回所有匹配项。如果未找到匹配项,则返回null

要检查文本是否存在,请考虑使用 includes()

语法: String.match(regexp)

返回值:数组

来源: JavaScript 函数

参数:

  • regexp(RegExp)- 一个 正则表达式 ,用于查找特定模式。如果存在g标志,将查找多个匹配项(参见示例)。

示例:

1
2
// Match all words starting with 'r'
"rock and roll".match(/r[^ ]*/g) //=> ['rock', 'roll']
1
2
// Match first word starting with 'r' (no 'g' flag)
"rock and roll".match(/r[^ ]*/) //=> ['rock']
1
2
// For case-insensitive, add 'i' flag
"ROCK and roll".match(/r[^ ]*/ig) //=> ['ROCK', 'roll']

String.parseJson()#

描述: 返回字符串所表示的 JavaScript 对象或值,如果字符串不是有效的 JSON,则返回 undefined。不支持单引号 JSON。

语法: String.parseJson()

返回值: 任意

来源: 自定义 n8n 功能

示例:

1
'{"name":"Nathan"}'.parseJson() //=> {"name":"Nathan"}
1
"{'name':'Nathan'}".parseJson() //=> undefined
1
'hello'.parseJson() //=> undefined

String.quote()#

描述: 将字符串用引号括起来,并转义字符串中已有的引号。在构建 JSON、SQL 等时非常有用。

语法: String.quote(标记?)

返回值: 字符串

来源: 自定义 n8n 功能

参数:

  • mark(字符串)- 可选 - 使用的引号类型

示例:

1
'Nathan says "hi"'.quote() //=> '"Nathan says \"hi\""'

String.removeMarkdown()#

描述: 从字符串中移除所有 Markdown 格式。同时移除 HTML 标签。

语法: String.removeMarkdown()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"*bold*, [link]()".removeMarkdown() //=> "bold, link"

String.removeTags()#

描述: 从字符串中移除标签,例如 HTML 或 XML

语法: String.removeTags()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"<b>bold</b>, <a>link</a>".removeTags() //=> "bold, link"

String.replace()#

描述: 返回一个字符串,其中第一个出现的 patternreplacement 替换。

要替换所有出现的内容,请改用 replaceAll()

语法: String.replace(模式, 替换)

返回值: 字符串

来源: JavaScript 函数

参数:

  • pattern(字符串|正则表达式)- 要替换的字符串中的模式。可以是要匹配的字符串或 正则表达式
  • replacement(字符串)- 要替换的新文本

示例:

1
'Red or blue or green'.replace('or', 'and') //=> 'Red and blue or green'
1
2
3
// A global, case-insensitive replacement:
let text = "Mr Blue has a blue house and a blue car";
let result = text.replace(/blue/gi, "red");
1
2
3
4
5
// A function to return the replacement text:
let text = "Mr Blue has a blue house and a blue car";
let result = text.replace(/blue|house|car/i, function (x) {
  return x.toUpperCase();
});

String.replaceAll()#

描述: 返回一个字符串,其中所有出现的 pattern 都被 replacement 替换

语法: String.replaceAll(模式, 替换)

返回值: 字符串

来源: JavaScript 函数

参数:

  • pattern(字符串|正则表达式)- 要替换的字符串中的模式。可以是要匹配的字符串或 正则表达式
  • replacement(字符串|函数)- 要替换的新文本。可以是字符串,也可以是返回字符串的函数(见示例)。

示例:

1
'Red or blue or green'.replace('or', 'and') //=> 'Red and blue and green'
1
2
3
4
5
6
7
8
// Uppercase any occurrences of 'blue' or 'car'
// (You must include the 'g' flag when using a regex)

// text = 'Mr Blue has a blue car'
text.replaceAll(/blue|car/gi, x => x.toUpperCase()) //=> 'Mr BLUE has a BLUE CAR'

// Or with traditional function notation:
text.replaceAll(/blue|car/gi, function(x){return x.toUpperCase()}) //=> 'Mr BLUE has a BLUE CAR'

String.replaceSpecialChars()#

描述: 将字符串中的特殊字符替换为最接近的 ASCII 字符

语法: String.replaceSpecialChars()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"déjà".replaceSpecialChars() //=> "deja"

String.search()#

描述: 返回字符串中模式第一次出现的位置索引,如果未找到则返回 -1。模式是使用 正则表达式指定的。要使用文本,请参见indexOf()

语法: String.search(正则表达式)

返回值: 数字

来源: JavaScript 函数

参数:

示例:

1
2
// Pos of first word starting with 'n'
"Neat n8n node".search(/n[^ ]*/) //=> 5
1
2
3
// Case-insensitive match with 'i'
// Pos of first word starting with 'n' or 'N'
"Neat n8n node".search(/n[^ ]*/i) //=> 0

String.slice()#

描述: 提取给定位置的字符串片段。有关更高级的提取,请参见 match()

语法: String.slice(start, end?)

返回值: 字符串

来源: JavaScript 函数

参数:

  • start(数字)- 起始位置。位置从0开始。负数表示从字符串末尾向前计数。
  • end(字符串)- 可选 - 要选择到的位置。结束位置的字符不包括在内。负数表示从字符串末尾开始选择。如果省略,将提取到字符串的末尾。

示例:

1
'Hello from n8n'.slice(0, 5) //=> 'Hello'
1
'Hello from n8n'.slice(6) //=> 'from n8n'
1
'Hello from n8n'.slice(-3) //=> 'n8n'

String.split()#

描述: 将字符串拆分为子字符串数组。每次拆分都在 separator 处进行,并且分隔符不会包含在输出中。

对数组使用 join() 的相反操作。

语法: String.split(分隔符?, 限制?)

返回值:数组

来源: JavaScript 函数

参数:

  • separator(字符串)- 可选 - 用于拆分的字符串(或正则表达式)。如果省略,将返回包含原始字符串的数组。
  • limit(数字)- 可选 - 要返回的数组元素的最大数量。如果省略,则返回所有元素。

示例:

1
"wind,fire,water".split(",") //=> ['wind', 'fire', 'water']
1
"me and you and her".split("and") //=> ['me ', ' you ', ' her']
1
2
// Split one or more of space, comma and '?' using a regular expression
"me? you, and her".split(/[ ,?]+/) //=> ['me', 'you', 'and', 'her']

String.startsWith()#

描述: 如果字符串以 searchString 开头,则返回 true。区分大小写。

语法: String.startsWith(searchString, start?)

返回值: 布尔类型

来源: JavaScript 函数

参数:

  • searchString(字符串)- 要与基本字符串的开头进行检查的文本
  • start(数字)- 可选 - 开始搜索的位置(索引)

示例:

1
2
'team'.startsWith('tea') //=> true
'team'.startsWith('Tea') //=> false
1
2
// Returns false if the case doesn't match, so consider using .toLowerCase() first
'Team'.toLowerCase().startsWith('tea') //=> true

String.substring()#

描述: 提取给定位置的字符串片段。有关更高级的提取,请参见 match()

语法: String.substring(start, end?)

返回值: 字符串

来源: JavaScript 函数

参数:

  • start(数字)- 起始位置。位置从0开始。
  • end(字符串)- 可选 - 要选择到的位置。末尾位置的字符不包括在内。如果省略,将提取到字符串的末尾。

示例:

1
'Hello from n8n'.substring(0, 5) //=> 'Hello'
1
'Hello from n8n'.substring(6) //=> 'from n8n'

String.toBoolean()#

描述: 将字符串转换为布尔值。0falseno 解析为 false,其他所有解析为 true。不区分大小写。

语法: String.toBoolean()

返回值: 布尔类型

来源: 自定义 n8n 功能

示例:

1
"true".toBoolean() //=> true
1
"false".toBoolean() //=> false
1
"0".toBoolean() //=> false
1
"hello".toBoolean() //=> true

String.toDateTime()#

描述: 将字符串转换为 DateTime。可用于进一步转换。字符串支持的格式包括 ISO 8601、HTTP、RFC2822、SQL 以及以毫秒为单位的 Unix 时间戳。

要解析其他格式,请使用 DateTime.fromFormat()

语法: String.toDateTime()

返回值: 日期时间

来源: 自定义 n8n 功能

示例:

1
"2024-03-29T18:06:31.798+01:00".toDateTime()
1
"Fri, 29 Mar 2024 18:08:01 +0100".toDateTime()
1
"20240329".toDateTime()
1
"1711732132990".toDateTime()

String.toJsonString()#

描述: 准备要插入 JSON 对象的字符串。转义任何引号和特殊字符(例如换行符),并将字符串用引号括起来。

与 JavaScript 的 JSON.stringify() 相同。

语法: String.toJsonString()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
2
// str = 'The "best" colours: red\nbrown'
str.toJsonString() //=> '"The \\"best\\" colours: red\\nbrown"'

String.toLowerCase()#

描述: 将字符串中的所有字母转换为小写

语法: String.toLowerCase()

返回值: 字符串

来源: JavaScript 函数

示例:

1
"I'm SHOUTing".toLowerCase() //=> "i'm shouting"

String.toNumber()#

描述: 将表示数字的字符串转换为数字。如果字符串不是以有效数字开头,则抛出错误。

语法: String.toNumber()

返回值: 数字

来源: 自定义 n8n 功能

示例:

1
"123".toNumber() //=> 123
1
"1.23E10".toNumber() //=> 12300000000

String.toSentenceCase()#

描述: 将字符串的大小写更改为句子大小写。每个句子的第一个字母大写,其余字母小写。

语法: String.toSentenceCase()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"quick! brown FOX".toSentenceCase() //=> "Quick! Brown fox"

String.toSnakeCase()#

描述: 将字符串格式更改为蛇形命名。空格和短横线被替换为 _,符号被移除,并且所有字母都变为小写。

语法: String.toSnakeCase()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"quick brown $FOX".toSnakeCase() //=> "quick_brown_fox"

String.toTitleCase()#

描述: 将字符串的大小写更改为标题式大小写。每个单词的首字母大写,其余字母保持不变。短的介词和连词不大写(例如 'a'、'the')。

语法: String.toTitleCase()

返回值: 字符串

来源: 自定义 n8n 功能

示例:

1
"quick a brown FOX".toTitleCase() //=> "Quick a Brown Fox"

String.toUpperCase()#

描述: 将字符串中的所有字母转换为大写字母

语法: String.toUpperCase()

来源: JavaScript 函数

示例:

1
"I'm not angry".toUpperCase() //=> "I'M NOT ANGRY"

String.trim()#

描述: 移除字符串两端的空白字符。空白字符包括换行、制表符、空格等。

语法: String.trim()

返回值: 字符串

来源: JavaScript 函数

示例:

1
'   lonely   '.trim() //=> 'lonely'

String.urlDecode()#

描述: 解码 URL 编码的字符串。将任何形式为 %XX 的字符代码替换为其对应的字符。

语法: String.urlDecode(allChars?)

返回值: 字符串

来源: 自定义 n8n 功能

参数:

  • allChars(布尔值)- 可选 - 是否解码属于 URI 语法的字符(例如 =?

示例:

1
"name%3DNathan%20Automat".urlDecode() //=> "name=Nathan Automat"
1
"name%3DNathan%20Automat".urlDecode(true) //=> "name%3DNathan Automat"

String.urlEncode()#

描述: 对字符串进行编码,以便可以在 URL 中使用。空格和特殊字符将被替换为 %XX 形式的代码。

语法: String.urlEncode(allChars?)

返回值: 字符串

来源: 自定义 n8n 功能

参数:

  • allChars(布尔值)- 可选 - 是否对属于 URI 语法的字符进行编码(例如 =, ?

示例:

1
"name=Nathan Automat".urlEncode() //=> "name%3DNathan%20Automat"
1
"name=Nathan Automat".urlEncode(true) //=> "name=Nathan%20Automat"