3 февраля 2011 г.

Работа со строками. Часть 1

Некоторые приемы работы со строковыми переменными.

Исходная строковая переменная:
!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 коммент.:

Отправить комментарий