Skip to content

String Tools

Roman Kopaev edited this page Dec 19, 2017 · 13 revisions

Набор компонентов для обработки строк.

Plug-ins

Format

Формирование значения строкового атрибута на основе строки формата.

Плагин позволяет установить значение строкового атрибута в соответствии со строкой формата на основе вычисляемых значений.

Настройка плагина производиться с помощью строки в формате JSON, определяемой при регистрации плагина. Строка имеет следующий формат:

{
    attribute1_name: {
        Format: "format_string",
        Args: [
            "attribute1",
            "attribute2",
            ...
            "attributeN"
        ]
    },
    ...
    attributeN_name: {
        Format: "format_string",
        Args: [
            "attribute1",
            "attribute2",
            ...
            "attributeN"
        ]
    }
}
  • attribute1_name .. attributeN_name Определяет имя атрибута строкового типа, значение которого будет формироваться.
  • Format Строка формата. Для вставки аргументов используются паттерны {x}, где x - порядковый номер атрибута. Нумерация начинается с 0. Пример строки формата: Code: {0}. Другой пример: {0} {1} {2}.
  • Args Содержит дочерние элементы, которые определяют аргументы формата, подставляемые в паттерны {x}. Порядок расположения дочерних элементов определяет порядок их подстановки в строку формата. Так, первый элемент будет подставлен вместо паттерна {0}, второй - вместо {1} и т. д.

Пример настройки для формирования ФИО контакта:

Step
Message:    	        Create
Primary Entity:         contact
Name:                   PZone.StringTools.Plugins.Format: Формирование ФИО при создании контакта
Run in User's Context:  Calling User
Execution Order:        10
Stage:                  Pre-operation
Unsecure Configuration: {
                            fullname: {
                                Format: "{0} {1} {2}",
                                Args: [
                                    "lastname",
                                    "firstname",
                                    "middlename",
                                ]
                            }
                        }

Step
Message:    	        Update
Primary Entity:         contact
Filtering Attributes:   firstname, middlename, lastname
Name:                   PZone.Plugins.StringTools.Format: Формирование ФИО при обновлении контакта
Run in User's Context:  Calling User
Execution Order:        10
Stage:                  Pre-operation
Unsecure Configuration: {
                            fullname: {
                                Format: "{0} {1} {2}",
                                Args: [
                                    "lastname",
                                    "firstname",
                                    "middlename",
                                ]
                            }
                        }
    Image
    Image Type: Pre Image
    Name:       Image
    Alias:      Image
    Parameters: firstname, middlename, lastname

ToFirstTitleCase

Перевод первой буквы строки в верхний регистр.

Настройка:

Step
Message:    	        Create
Primary Entity:         <<entity_logical_name>>
Name:                   PZone.StringTools.Plugins.ToFirstTitleCase: <<description>>
Run in User's Context:  Calling User
Execution Order:        10
Description:            <<description>>
Stage:                  Pre-operation
Unsecure Configuration: [
                            "attribute_logical_name1",
                            "attribute_logical_name2",
                            ...
                            "attribute_logical_nameN"
                        ]

Функционал может быть применен к одному или более атрибутов. attribute_logical_nameX - название атрибута, для которого будет применен функционал.

Функционал работает только для строковых атрибутов. В случае использования атрибута другого типа будет выдано исключение.

ToLowerCase

Перевод всех букв строки в нижний регистр.

Step
Message:    	        Create
Primary Entity:         <<entity_logical_name>>
Name:                   PZone.StringTools.Plugins.ToLowerCase: <<description>>
Run in User's Context:  Calling User
Execution Order:        10
Description:            <<description>>
Stage:                  Pre-operation
Unsecure Configuration: [
                            "attribute_logical_name1",
                            "attribute_logical_name2",
                            ...
                            "attribute_logical_nameN"
                        ]

Функционал может быть применен к одному или более атрибутов. attribute_logical_nameX - название атрибута, для которого будет применен функционал.

Функционал работает только для строковых атрибутов. В случае использования атрибута другого типа будет выдано исключение.

ToTitleCase

Перевод первых букв всех слов строки в верхний регистр, а остальных в нижний.

Step
Message:    	        Create
Primary Entity:         <<entity_logical_name>>
Name:                   PZone.StringTools.Plugins.ToTitleCase: <<description>>
Run in User's Context:  Calling User
Execution Order:        10
Description:            <<description>>
Stage:                  Pre-operation
Unsecure Configuration: [
                            "attribute_logical_name1",
                            "attribute_logical_name2",
                            ...
                            "attribute_logical_nameN"
                        ]

Функционал может быть применен к одному или более атрибутов. attribute_logical_nameX - название атрибута, для которого будет применен функционал.

Функционал работает только для строковых атрибутов. В случае использования атрибута другого типа будет выдано исключение.

ToUpperCase

Перевод всех букв строки в верхний регистр.

Step
Message:    	        Create
Primary Entity:         <<entity_logical_name>>
Name:                   PZone.StringTools.Plugins.ToUpperCase: <<description>>
Run in User's Context:  Calling User
Execution Order:        10
Description:            <<description>>
Stage:                  Pre-operation
Unsecure Configuration: [
                            "attribute_logical_name1",
                            "attribute_logical_name2",
                            ...
                            "attribute_logical_nameN"
                        ]

Функционал может быть применен к одному или более атрибутов. attribute_logical_nameX - название атрибута, для которого будет применен функционал.

Функционал работает только для строковых атрибутов. В случае использования атрибута другого типа будет выдано исключение.

Workflow

Characters

Специальные символы (пробел, перевод строки).

Jaro Distance

Расстояние Джаро между двумя последовательностями символов.

Чем меньше расстояние, тем больше сходства имеют эти строки друг с другом.

Результат нормируется, так что 0 означает отсутствия сходства, а 100 - точное совпадение.

Jaro-Winkler Distance

Расстояние Джаро—Винклера между двумя последовательностями символов.

Чем меньше расстояние, тем больше сходства имеют эти строки друг с другом.

Результат нормируется, так что 0 означает отсутствия сходства, а 100 - точное совпадение.

Replace

Замена подстроки в строке.

Strings

Специальные строки (GUID).

Substring

Получение подстроки.

To First Title Case

Перевод первой буквы строки в верхний регистр.

To Lower Case

Перевод всех букв строки в нижний регистр.

To Title Case

Перевод первых букв всех слов строки в верхний регистр.

To Upper Case

Перевод всех букв строки в верхний регистр.

Trim

Обрезание пробелов в начале и конце строки.

You can’t perform that action at this time.