Replace 和 Substitute 函数

适用于:画布应用 Dataverse 公式列桌面流模型驱动应用 Power Platform CLI

将文本字符串的一部分替换为其他字符串。

描述

Replace 函数按起始位置和长度标识要替换的文本。

Substitute 函数通过匹配字符串标识要替换的文本。 如果找到多个匹配项,可以替换所有匹配项或指定一个要替换的匹配项。

如果传递单个字符串,则返回值为修改后的字符串。 如果传递包含字符串的单列,返回值将是一个单列表,具有修改字符串的列。 如果您有多列表,可以将其调整为单列表,如使用表中所述。

语法

Replace( String, StartingPosition, NumberOfCharacters, NewString )

  • String - 必需。 要运算的字符串。
  • StartingPosition - 必需。 开始替换的字符位置。 String 的第一个字符位于位置 1。
  • NumberOfCharacters - 必需。 String 中要替换的字符数。
  • NewString - 必需。 替换字符串。 此参数中的字符数可能与 NumberOfCharacters 参数中的字符数不同。

Substitute( String, OldString, NewString [, InstanceNumber ] )

  • String - 必需。 要运算的字符串。
  • OldString - 必需。 要替换的字符串。
  • NewString - 必需。 替换字符串。 OldStringNewString 可以有不同长度。
  • InstanceNumber - 可选。 如果 String 包含多个实例,请使用此参数指定替换 OldString 的哪个实例。 如果不指定此参数,将替换所有实例。

Replace( SingleColumnTable, StartingPosition, NumberOfCharacters, NewString )

  • SingleColumnTable - 必需。 要运算的字符串的单列表。
  • StartingPosition - 必需。 开始替换的字符位置。 表中每个字符串的第一个字符位于位置 1。
  • NumberOfCharacters - 必需。 每个字符串中要替换的字符数。
  • NewString - 必需。 替换字符串。 此参数中的字符数可能与 NumberOfCharacters 参数中的字符数不同。

Substitute( SingleColumnTable, OldString, NewString [, InstanceNumber ] )

  • SingleColumnTable - 必需。 要运算的字符串的单列表。
  • OldString - 必需。 要替换的字符串。
  • NewString - 必需。 替换字符串。 OldStringNewString 可以有不同长度。
  • InstanceNumber - 可选。 如果 String 包含多个实例,请使用此参数指定替换 OldString 的哪个实例。 如果不指定此参数,将替换所有实例。

示例

公式 描述 结果
Replace( "abcdefghijk", 6, 5, "*" ) 用单个“*”字符替换“abcdefghijk”中的五个字符,从第六个字符(“f”)开始。 “abcde*k”
Replace( "2019", 3, 2, "20" ) 将“2019”的最后两个字符替换为“20”。 “2020”
Replace( "123456", 1, 3, "_" ) 用单个“_”字符替换“123456”的前三个字符。 “_456”
Substitute( "Sales Data", "Sales", "Cost" ) 将字符串“Sales”替换为“Cost”。 “Cost Data”
Substitute( "Quarter 1, 2018", "1", "2", 1 ) 因为第四个参数 (InstanceNumber) 带有 1,所以仅用“2”替换了“1”的第一个实例。 “Quarter 2, 2018”
Substitute( "Quarter 1, 2011", "1", "2", 3 ) 因为第四个参数 (InstanceNumber) 带有 3,所以仅用“2”替换了“1”的第三个实例。 “Quarter 1, 2012”
Substitute( "Quarter 1, 2011", "1", "2" ) 因为未提供第四个参数 (InstanceNumber),所以用“2”替换了“1”的所有实例。 “Quarter 2, 2022”
Replace(
[ "Quarter 1, 2018",
"Quarter 2, 2011",
"Quarter 4, 2019" ],
9, 1, "3" )
将单列表的每个记录中的第九个字符替换为“3”。 具有包含以下值的 Value 列的单列表:[ "Quarter 3, 2018",
"Quarter 3, 2011",
"Quarter 3, 2019" ]
Substitute(
[ "Qtr 1, 2018",
"Quarter 1, 2011",
"Q1, 2019" ],
"1", "3", 1 )
因为第四个参数 (InstanceNumber) 带有值 1,所以在单列表的每个记录中仅将“1”的第一个实例替换为“3”。 具有包含以下值的 Value 列的单列表:[ "Qtr 3, 2018",
"Quarter 3, 2011",
"Q3,2019"]
Substitute(
[ "Qtr 1, 2018",
"Quarter 1, 2011",
"Q1, 2019" ],
"1", "3" )
因为未提供第四个参数 (InstanceNumber),所以在单列表的每个记录中将“1”的所有实例替换为“3”。 具有包含以下值的 Value 列的单列表:[ "Qtr 3, 2038",
"Quarter 3, 2033",
"Q3,2039"]