Функции Replace и Substitute

Применимо к: приложениям на основе холста столбцам формул Dataverse классическим потокам приложениям на основе модели интерфейсу командной строки Power Platform

Замена части текстовой строки другой строкой.

Description

В функции 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 — необязательный аргумент. Используйте этот аргумент, чтобы указать, какой экземпляр строки OldString следует заменить, если строка String содержит более одного экземпляра. Если вы не укажете этот аргумент, все экземпляры будут заменены.

Replace( SingleColumnTable, StartingPosition, NumberOfCharacters, NewString )

  • SingleColumnTable — обязательный аргумент. Таблица с одним столбцом, для строк в котором нужно выполнить преобразование.
  • StartingPosition — обязательный аргумент. Позиция символа, с которого нужно начать замену. Первый символ каждой строки из таблицы находится в позиции 1.
  • NumberOfCharacters — обязательный аргумент. Число символов, которые нужно заменить в каждой из строк.
  • NewString — обязательный аргумент. Строка, которой нужно заменить текст в исходной строке. Количество символов в этом аргументе может отличаться от значения аргумента NumberOfCharacters.

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

  • SingleColumnTable — обязательный аргумент. Таблица с одним столбцом, для строк в котором нужно выполнить преобразование.
  • OldString — обязательный аргумент. Строка, которую требуется заменить.
  • NewString — обязательный аргумент. Строка, которой нужно заменить текст в исходной строке. У аргументов OldString и NewString может быть разная длина.
  • InstanceNumber — необязательный аргумент. Используйте этот аргумент, чтобы указать, какой экземпляр строки OldString следует заменить, если строка String содержит более одного экземпляра. Если вы не укажете этот аргумент, все экземпляры будут заменены.

Примеры

Формула Описание Результат
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" ) Подставляет строку "Cost" на "Sales". "Cost Data"
Substitute( "Quarter 1, 2018", "1", "2", 1 ) Заменяет только первый экземпляр "1" на "2", потому что четвертый аргумент (InstanceNumber) указан со значением 1. "Quarter 2, 2018"
Substitute( "Quarter 1, 2011", "1", "2", 3 ) Заменяет только третий экземпляр "1" на "2", потому что четвертый аргумент (InstanceNumber) указан со значением 3. "Quarter 1, 2012"
Substitute( "Quarter 1, 2011", "1", "2" ) Заменяет все экземпляры "1" на "2", потому что четвертый аргумент (InstanceNumber) не указан. "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"]