以下文档根据
system.functions 系统表自动生成。format
pattern 字符串进行格式化,类似于 Python 中的格式化方式。
模式字符串可以包含由花括号 {} 括起来的替换字段。
凡是不在花括号中的内容都会被视为字面文本,并原样复制到输出中。
字面花括号字符可以用两个花括号进行转义:{{ 和 }}。
字段名可以是数字 (从零开始) ,也可以为空 (此时会隐式分配按顺序递增的编号) 。
Syntax
String
示例
编号占位符
Query
Response
Query
Response
overlay
offset 开始,用另一个字符串 replace 替换字符串 input 的一部分。
语法
s— 输入字符串。Stringreplace— 替换字符串。const Stringoffset— 整数类型Int(从 1 开始计数) 。如果offset为负数,则从字符串s的末尾开始计数。Intlength— 可选。整数类型Int。length指定输入字符串s中要替换的片段长度。如果未指定length,则从s中移除的字节数等于replace的长度;否则移除length个字节。Int
String
示例
基本替换
Query
Response
Query
Response
overlayUTF8
offset 开始,将字符串 s 的一部分替换为另一个字符串 replace。
假定该字符串包含有效的 UTF-8 编码文本。
如果这一假定不成立,不会抛出异常,结果将是未定义的。
语法
s— 输入字符串。Stringreplace— 替换字符串。const Stringoffset— 整数类型Int(从 1 开始计数) 。如果offset为负数,则从输入字符串s的末尾开始计数。(U)Int*length— 可选。指定输入字符串s中要替换的片段长度。如果未指定length,则从s中移除的字符数等于replace的长度;否则移除length个字符。(U)Int*
String
示例
UTF-8 替换
Query
Response
printf
printf 函数使用参数中列出的值 (字符串、整数、浮点数等) 对给定字符串进行格式化,类似于 C++ 中的 printf 函数。
格式字符串可以包含以 % 字符开头的格式说明符。
凡是不包含在 % 及其后续格式说明符中的内容,都会被视为字面文本,并原样复制到输出中。
字面 % 字符可通过 %% 转义。
格式字符串既可以是常量,也可以是列表达式,因此每一行都可以使用不同的格式模式。
语法
String
示例
C++ 风格的格式化
Query
Response
regexpQuoteMeta
\0、\\、|、(、)、^、$、.、[、]、?、*、+、{、:、-。
此实现与 re2::RE2::QuoteMeta 略有不同。
它会将零字节转义为 \0,而不是 \x00,并且只转义必要的字符。
语法
s— 输入字符串,包含需要为正则表达式转义的字符。String
String
示例
转义正则表达式中的特殊字符
Query
Response
replaceAll
haystack 中出现的所有子串 pattern 替换为 replacement 字符串。
语法
replace
参数
haystack— 要搜索的输入字符串。Stringpattern— 要查找并替换的子串。const Stringreplacement— 用于替换pattern的字符串。const String
pattern 的所有匹配项都替换后的字符串。String
示例
替换所有匹配项
Query
Response
replaceOne
haystack 中首次出现的子串 pattern 替换为 replacement 字符串。
语法
haystack— 要搜索的输入字符串。Stringpattern— 要查找并替换的子串。const Stringreplacement— 用于替换pattern的字符串。const String
pattern 首次出现替换后的字符串。String
示例
替换首次出现
Query
Response
replaceRegexpAll
replaceRegexpOne 类似,但会替换所有匹配该模式的内容。
但有一个例外:如果正则表达式匹配的是空子串,则替换最多只会执行一次。
语法
REGEXP_REPLACE
参数
haystack— 要搜索的输入字符串。Stringpattern— 要查找的正则表达式模式。const Stringreplacement— 用于替换该模式的字符串,可包含替换。const String
String
示例
将所有字符替换为其双倍形式
Query
Response
Query
Response
replaceRegexpOne
haystack 中与正则表达式 pattern (re2 语法) 匹配的第一个子串替换为 replacement 字符串。
replacement 可以包含替换 \0-\9。
其中,\1-\9 分别对应第 1 到第 9 个捕获组 (子匹配) ,\0 对应整个匹配。
如果要在 pattern 或 replacement 字符串中使用字面的 \ 字符,请使用 \ 对其进行转义。
另请注意,字符串字面量还需要额外转义。
语法
haystack— 要搜索的输入字符串。Stringpattern— 要查找的正则表达式模式。const Stringreplacement— 用于替换匹配模式的字符串,可包含替换。const String
String
示例
将 ISO 日期转换为美式格式
Query
Response
Query
Response
translate
from 和 to 字符串定义的一对一字符映射,替换字符串 s 中的字符。
from 和 to 必须是常量 ASCII 字符串。
如果 from 和 to 的长度相同,则将 s 中出现的 from 的第一个字符替换为 to 的第一个字符,将 from 的第二个字符替换为 to 的第二个字符,依此类推。
如果 from 包含的字符多于 to,则 from 末尾那些在 to 中没有对应字符的字符在 s 中出现时都会被删除。
函数不会修改 s 中的非 ASCII 字符。
语法
s— 待转换的输入字符串。Stringfrom— 包含待替换字符的常量 ASCII 字符串。const Stringto— 包含替换后字符的常量 ASCII 字符串。const String
String
示例
字符映射
Query
Response
Query
Response
translateUTF8
translate 类似,但假设 s、from 和 to 都是 UTF-8 编码的字符串。
语法
s— 待转换的 UTF-8 输入字符串。Stringfrom— 包含待替换字符的常量 UTF-8 字符串。const Stringto— 包含替换字符的常量 UTF-8 字符串。const String
String 数据类型的值。String
示例
UTF-8 字符转换
Query
Response