字符串替换函数
overlay
用另一个字符串 replace
替换字符串 input
的一部分,从 1 开始的索引 offset
开始。
语法
参数
s
: 字符串类型 String。replace
: 字符串类型 String。offset
: 整数类型 Int(以 1 为基准)。如果offset
为负,则从字符串s
的末尾计数。length
: 可选。整数类型 Int。length
指定要替换的输入字符串s
中片段的长度。如果未指定length
,从s
中移除的字节数等于replace
的长度;否则将移除length
字节。
返回值
- 一个 String 数据类型的值。
示例
结果:
结果:
overlayUTF8
用另一个字符串 replace
替换字符串 input
的一部分,从 1 开始的索引 offset
开始。
假设字符串包含有效的 UTF-8 编码文本。如果违反此假设,则不会抛出异常,结果是未定义的。
语法
参数
s
: 字符串类型 String。replace
: 字符串类型 String。offset
: 整数类型 Int(以 1 为基准)。如果offset
为负,则从输入字符串s
的末尾计数。length
: 可选。整数类型 Int。length
指定要替换的输入字符串s
中片段的长度。如果未指定length
,从s
中移除的字符数等于replace
的长度;否则将移除length
个字符。
返回值
- 一个 String 数据类型的值。
示例
结果:
replaceOne
替换 haystack
中的子字符串 pattern
的第一个出现为 replacement
字符串。
语法
replaceAll
将 haystack
中所有出现的子字符串 pattern
替换为 replacement
字符串。
语法
别名:replace
。
replaceRegexpOne
将符合正则表达式 pattern
(使用 re2 语法)匹配的子字符串在 haystack
中的第一个出现替换为 replacement
字符串。
replacement
可以包含替换 \0-\9
。
替换 \1-\9
对应于第 1 到第 9 个捕获组(子匹配),替换 \0
对应于整个匹配。
要在 pattern
或 replacement
字符串中使用逐字 \
字符,请使用 \
进行转义。
还要注意字符串字面量需要额外的转义。
语法
示例
将 ISO 日期转换为美国格式:
结果:
将字符串复制十次:
结果:
replaceRegexpAll
类似于 replaceRegexpOne
,但替换模式的所有出现。
别名:REGEXP_REPLACE
。
示例
结果:
作为例外,如果正则表达式在空子字符串上工作,则替换不得多于一次,例如:
结果:
regexpQuoteMeta
在这些在正则表达式中具有特殊含义的字符之前添加反斜杠: \0
, \\
, |
, (
, )
, ^
, $
, .
, [
, ]
, ?
, *
, +
, {
, :
, -
。
此实现与 re2::RE2::QuoteMeta 略有不同。它将零字节转义为 \0
而不是 \x00
,并且仅转义所需的字符。
有关更多信息,请参见 RE2
语法
format
使用参数中列出的值(字符串、整数等)格式化 pattern
字符串,类似于 Python 中的格式化。模式字符串可以包含用大括号 {}
包围的替换字段。未包含在大括号中的任何内容都被视为文字文本,并原样复制到输出中。文字大括号字符可以通过两个大括号进行转义:{{ '{{' }}
和 {{ '}}' }}
。字段名称可以是数字(从零开始)或者为空(则隐式赋予单调增加的数字)。
语法
示例
使用隐式数字:
translate
使用 from
和 to
字符串定义的字符一对一映射来替换字符串 s
中的字符。
from
和 to
必须是常量 ASCII 字符串。
如果 from
和 to
的大小相等,则 s
中的 first
的第 1 个字符的每个出现都被替换为 to
的第 1 个字符,first
的第 2 个字符在 s
中的出现被替换为 to
的第 2 个字符,依此类推。
如果 from
包含的字符比 to
多,则从 s
中删除 from
末尾所有没有对应字符在 to
中的字符。
s
中的非 ASCII 字符不会被此函数修改。
语法
示例
结果:
from
和 to
参数具有不同的长度:
结果:
translateUTF8
类似于 translate,但假设 s
、from
和 to
是 UTF-8 编码字符串。
语法
参数
返回值
- 一个 String 数据类型的值。
示例
查询:
printf
printf
函数格式化给定字符串,与 C++ 中的 printf 函数类似,使用参数中列出的值(字符串、整数、浮点数等)。格式字符串可以包含以 %
字符开头的格式说明符。未包含在 %
和后随格式说明符中的任何内容都被视为文字文本,并原样复制到输出中。文字 %
字符可以通过 %%
进行转义。
语法
示例
查询: