Работа со строками

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

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

  • Concatenate([разделитель:строка], [строка 1], ..., [строка N]) - объединение строк.

Важно! При использовании данной функции в формах данных с множественной отметкой проверьте наличие флага "allowMultipleValues": true у операнда

  • 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 }

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

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

JPath() Для того, чтобы вывести требуемые свойства из строки вида json следует использовать функцию JPath(<json>, <jpath>, <expression>), где

  • json - объект json, из которого следует втянуть значения
  • jpath - свойства json, значения которых будут выведены в результате. Задаются в строковом виде, либо в коллекции строк
  • expression - объект json, из которого следует втянуть значения
 1 {
 2   "expression": "JPath(ToString([0]), '$.rhumbs[*].'+[1],true)",
 3   "operandValues": [
 4     {
 5       "id": 0,
 6 "value": "{'startPoint':[58.37194012413617,60.662785146257235],'skip':1,'rhumbs':[{'rhumb':'NW','angle':75,'distance':100},{'rhumb':'SW','angle':0,'distance':51},{'rhumb':'SW','angle':56,'distance':128},{'rhumb':'NW','angle':47,'distance':253},{'rhumb':'SE','angle':81,'distance':299}],'turningPointsIds':['7917fe71-372c-41d0-8ffc-6d97931e5a4e','24e963a2-797f-4060-8e6d-07b002e97b8b','88161be8-860e-4b48-ab3e-9c19dc51f948','5345d652-d0e6-45a1-b846-ee1d5add7378','cedbbd41-c214-448e-b07f-5f422ffff463'],'bindLineId':'cf1fa88b-669f-404f-9490-5488d2b980aa'}"
 7     },
 8 {
 9 "id": 1,
10 "value": "['rhumb', 'angle']"
11 }
12   ]
13 }


Результат:

1 [
2   "NW", 
3   "SW",
4   "SW",
5   "NW",
6   "SE"
7 ]