Некоторые приемы работы со строковыми переменными.
Исходная строковая переменная:
!stringVar = 'Задвижка клиновая с выдвижным шпинделем # 30c41нж/30нж41нж'
Пример 1. Отделение части до определенного символа или выражения
Применяется метод .Before('СТРОКОВОЕ_ЗНАЧЕНИЕ')
NB: пробелы тоже считаются
Пример 2. Отделение части после определенного символа или выражения
Применяется метод .After('СТРОКОВОЕ_ЗНАЧЕНИЕ')
NB: пробелы тоже считаютсяПример 3. Отделение подстроки, начиная с определенного места (по порядковому номеру в строке) и указанной длины
Применяется метод .Substring(real1,real2)NB:Если не указывается длина (то есть будет указан только один параметр), то будет взята вся оставшаяся строка, начиная с указанного места
Пример 4. Разбить строку на массив строковых значений по указанному разделителю
NB: одновременно применяется несколько методов к одному объекту. В объектно-ориентированном языке, каким является PML 2, методы применятются последовательно. В первом случае применено два метода: сначала отсекание части строки по указанному строковому значению, а потом сразу метод .Trim(), позволяющий убрать пробелы по краям строки. Во втором случае тоже используется два метода последовательно: сначал получает то, что следует после указанного строкового значения, а затем, зная разделитель, получаем массив, разбив значение.В результате переменная !resultArray будет массивом строк, полученных путем разбития исходной строки по указанному разделителю. В данном примере это будет массив из двух ячеек со значениями 'Задвижка клиновая с выдвижным шпинеделем' и '30c41нж/30нж41нж' соответственно.
Применяется метод Split('СИМВОЛ_РАЗДЕЛИТЕЛЬ')
NB: Если не указать символ-разделитель, то есть написать просто .Split(), то система будет пытаться разбить исходную строчку по пробелу
Задача: разбить исходную строку таким образом чтобы в первую переменную записалось наименование, расположенное до символа '#', а во вторую переменную - массив фигур (ячейка=фигура)
Решение:
Исходная строковая переменная:
!stringVar = 'Задвижка клиновая с выдвижным шпинделем # 30c41нж/30нж41нж'
Пример 1. Отделение части до определенного символа или выражения
!resultVar = !stringVar.Before('#')В результате в переменную !resultVar запишется значение 'Задвижка клиновая с выдвижным шпинделем ', то есть то, что находится до значения, указанного в качестве параметра метода.
Применяется метод .Before('СТРОКОВОЕ_ЗНАЧЕНИЕ')
NB: пробелы тоже считаются
Пример 2. Отделение части после определенного символа или выражения
!resultVar = !stringVar.After('#')В результате в переменную !resultVar запишется значение ' 30c41нж/30нж41нж', то есть то, что находится после значения, указанного в качестве параметра метода.
Применяется метод .After('СТРОКОВОЕ_ЗНАЧЕНИЕ')
NB: пробелы тоже считаютсяПример 3. Отделение подстроки, начиная с определенного места (по порядковому номеру в строке) и указанной длины
!resultVar = !stringVar.Substring(1,8)В результате в переменную !resultVar запишется значение 'Задвижка' - то есть, начиная с первого символа и длиной 8.
Применяется метод .Substring(real1,real2)NB:Если не указывается длина (то есть будет указан только один параметр), то будет взята вся оставшаяся строка, начиная с указанного места
Пример 4. Разбить строку на массив строковых значений по указанному разделителю
NB: одновременно применяется несколько методов к одному объекту. В объектно-ориентированном языке, каким является PML 2, методы применятются последовательно. В первом случае применено два метода: сначала отсекание части строки по указанному строковому значению, а потом сразу метод .Trim(), позволяющий убрать пробелы по краям строки. Во втором случае тоже используется два метода последовательно: сначал получает то, что следует после указанного строкового значения, а затем, зная разделитель, получаем массив, разбив значение.В результате переменная !resultArray будет массивом строк, полученных путем разбития исходной строки по указанному разделителю. В данном примере это будет массив из двух ячеек со значениями 'Задвижка клиновая с выдвижным шпинеделем' и '30c41нж/30нж41нж' соответственно.
!resultArray = !stringVar.Split('#')
Применяется метод Split('СИМВОЛ_РАЗДЕЛИТЕЛЬ')
NB: Если не указать символ-разделитель, то есть написать просто .Split(), то система будет пытаться разбить исходную строчку по пробелу
Задача: разбить исходную строку таким образом чтобы в первую переменную записалось наименование, расположенное до символа '#', а во вторую переменную - массив фигур (ячейка=фигура)
Решение:
!description = !stringVar.Before('#').Trim()
!figuresArray = !stringVar.After('#').Split('/')
0 коммент.:
Отправить комментарий