Replace 和 Substitute 函数
适用于:画布应用 Dataverse 公式列桌面流模型驱动应用 Power Pages 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 - 必需。 替换字符串。 OldString 和 NewString 可以有不同长度。
- InstanceNumber - 可选。 如果 String 包含多个实例,请使用此参数指定替换 OldString 的哪个实例。 如果不指定此参数,将替换所有实例。
Replace( SingleColumnTable, StartingPosition, NumberOfCharacters, NewString )
- SingleColumnTable - 必需。 要运算的字符串的单列表。
- StartingPosition - 必需。 开始替换的字符位置。 表中每个字符串的第一个字符位于位置 1。
- NumberOfCharacters - 必需。 每个字符串中要替换的字符数。
- NewString - 必需。 替换字符串。 此参数中的字符数可能与 NumberOfCharacters 参数中的字符数不同。
Substitute( SingleColumnTable, OldString, NewString [, InstanceNumber ] )
- SingleColumnTable - 必需。 要运算的字符串的单列表。
- OldString - 必需。 要替换的字符串。
- NewString - 必需。 替换字符串。 OldString 和 NewString 可以有不同长度。
- 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"] |