Функции Replace и Substitute

Применимо к: Приложениям Canvas Dataverse Столбцам формул Потокам рабочего стола Приложениям на основе моделей Power Pages Power Platform CLI

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

Description

В функции Replace текст, который требуется заменить, определяется начальной позицией и длиной.

Функция Substitute ищет текст, который нужно заменить, сравнивая его с определенной строкой. Если найдено более одного совпадения, вы можете заменить их все или указать одно для замены.

Если передать одну строку, функция возвращает ее измененную версию. Если передать содержащую строки таблицу из одного столбца, функция возвращает таблицу из одного столбца со столбцом Значение с измененными строками. Таблицу с несколькими столбцами можно преобразовать в таблицу с одним столбцом, как описано в статье об использовании таблиц.

Синтаксис

Заменить( String, StartingPosition, NumberOfCharacters, NewString )

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

Замена( Строка, СтараяСтрока, НоваяСтрока [, НомерЭкземпляра ] )

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

Заменить( Таблица_Одного_Столбца, Начальная_Позиция, Количество_Символов, Новая_Строка )

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

Подставить( Таблица_Одного_Столбца, Старая_Строка, Новая_Строка [, Номер_Экземпляра ] )

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

Примеры

Формула Описание Результат
Заменить( "abcdefghijk", 6, 5, "*" ) Заменяет пять символов в "abcdefghijk" одним символом «*», начиная с шестого символа ("f"). "abcde*k"
Заменить( "2019", 3, 2, "20" ) Заменяет последние два символа строки "2019" на "20". "2020"
Заменить( "123456", 1, 3, "_" ) Заменяет первые три символа строки "123456" на один символ подчеркивания "_". "_456"
Заменить( "Данные о продажах", "Продажи", "Стоимость") Подставляет строку "Cost" на "Sales". "Cost Data"
Substitute( "1 квартал 2018", "1", "2", 1 ) Заменяет только первый экземпляр "1" на "2", потому что четвертый аргумент (InstanceNumber) указан со значением 1. "Quarter 2, 2018"
Substitute( "1 квартал 2011 г.", "1", "2", 3 ) Заменяет только третий экземпляр "1" на "2", потому что четвертый аргумент (InstanceNumber) указан со значением 3. "Quarter 1, 2012"
Substitute( "1 квартал 2011 г.", "1", "2" ) Заменяет все экземпляры "1" на "2", потому что четвертый аргумент (InstanceNumber) не указан. "Quarter 2, 2022"
Заменять(
[ "Quarter 1, 2018",
"Quarter 2, 2011",
"Quarter 4, 2019" ],
9, 1, "3" )
Заменяет девятый символ в каждой записи таблицы с одним столбцом на "3". Таблица с одним столбцом, в которой столбец Value содержит следующие значения: [ "Quarter 3, 2018",
"Quarter 3, 2011",
"Quarter 3, 2019" ]
Заменять(
[ "Qtr 1, 2018",
"Quarter 1, 2011",
"Q1, 2019" ],
"1", "3", 1 )
Так как четвертый аргумент (InstanceNumber) предоставлен со значением 1, заменяет только первый экземпляр "1" в каждой записи таблицы с одним столбцом на "3". Таблица с одним столбцом, в которой столбец Value содержит следующие значения: [ "Qtr 3, 2018",
"Quarter 3, 2011",
"Q3,2019"]
Заменять(
[ "Qtr 1, 2018",
"Quarter 1, 2011",
"Q1, 2019" ],
"1", "3" )
Так как четвертый аргумент (InstanceNumber) не предоставлен, заменяет все экземпляры "1" в каждой записи таблицы с одним столбцом на "3". Таблица с одним столбцом, в которой столбец Value содержит следующие значения: [ "Qtr 3, 2038",
"Quarter 3, 2033",
"Q3,2039"]