Платформа 3V/Выражение/Расчет выражений/Работа со строками: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 11: Строка 11:
 
* Split([0], [1]) - Разбивает строку на коллекцию строковых элементов через разделитель
 
* Split([0], [1]) - Разбивает строку на коллекцию строковых элементов через разделитель
 
* Join([0], [1]) - Объединяет коллекцию через разделитель в строку
 
* Join([0], [1]) - Объединяет коллекцию через разделитель в строку
 +
 +
<div align="right">'''''Реализовано в [[Описание_релизов/0.40.0 | версии 0.40]]'''''</div>
 +
 +
'''Replace()'''
 +
Заменять заданный текст можно с помощью функции Replace(<Source_String>, <Find_String>, <Replaced_String>), где
 +
*Source_String - текст в котором требуется заменить строку
 +
*Find_String - строка, которую требуется заменить
 +
*Replaced_String - строка, которой будет заменена Find_String
 +
<div style="width:700px;>
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  "expression": "Replace('хо-хо', 'о', 'е')" 
 +
}
 +
</syntaxhighlight>
 +
</div>
 +
 +
'''Format()'''
 +
Чтобы вставить в текст значения(??) следует использовать функцию формата Format(<Source_Template>, <Collection_Values>) или Format(<Source_Template>, <Value0>, <Value1>, <Value2>...), где
 +
*Source_Template - шаблон для вставки, где вставка значения обозначается {0}
 +
*Value - вставляемое значение. Счётчик идентификатора для значения начинается с 0.
 +
<div style="width:700px;>
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  "expression": "Format('{0} + {0} = {1}', '2', '5')" 
 +
},
 +
{
 +
  "expression": "Format('{0} + {0} = {1}', ToList('2', '5'))" 
 +
}
 +
</syntaxhighlight>
 +
</div>
 +
 +
'''Trim()'''
 +
Для того, чтобы убрать пробелы в начале и в конце строки следует использовать функцию Trim(<Source_String>), где
 +
*Source_String - строка, в которой обрезаются пробелы в начале и в конце
 +
<div style="width:700px;>
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  "expression": "Trim('      пробелы между словами будут, а по краям нет      ')"
 +
}
 +
</syntaxhighlight>
 +
</div>

Версия 14:40, 22 ноября 2021

Общие функции работы со строками

  • Concatenate([разделитель:строка], [строка 1], ..., [строка N]) - объединение строк
  • IndexOf([строка, в которой ищем], [строка, которую ищем]) - возвращает индекс первого символа строки, которую ищем или -1, если не найдена
  • Length([строка]) - возвращает длину строки
  • Letter([целое число - индекс латинской буквы]) - возвращает букву от A до Z
  • Padleft([строка], [ожидаемая длина строки], [символ "замощения" слева])
  • Substring([строка], [начальный индекс, начиная с 0], [кол-во символов])

Объединение и разбиение строк

  • Split([0], [1]) - Разбивает строку на коллекцию строковых элементов через разделитель
  • Join([0], [1]) - Объединяет коллекцию через разделитель в строку
Реализовано в версии 0.40

Replace() Заменять заданный текст можно с помощью функции Replace(<Source_String>, <Find_String>, <Replaced_String>), где

  • Source_String - текст в котором требуется заменить строку
  • Find_String - строка, которую требуется заменить
  • Replaced_String - строка, которой будет заменена Find_String
1 {
2   "expression": "Replace('хо-хо', 'о', 'е')"  
3 }

Format() Чтобы вставить в текст значения(??) следует использовать функцию формата Format(<Source_Template>, <Collection_Values>) или Format(<Source_Template>, <Value0>, <Value1>, <Value2>...), где

  • Source_Template - шаблон для вставки, где вставка значения обозначается {0}
  • Value - вставляемое значение. Счётчик идентификатора для значения начинается с 0.
1 {
2   "expression": "Format('{0} + {0} = {1}', '2', '5')"  
3 },
4 {
5   "expression": "Format('{0} + {0} = {1}', ToList('2', '5'))"  
6 }

Trim() Для того, чтобы убрать пробелы в начале и в конце строки следует использовать функцию Trim(<Source_String>), где

  • Source_String - строка, в которой обрезаются пробелы в начале и в конце
1 {
2   "expression": "Trim('       пробелы между словами будут, а по краям нет       ')"
3 }