Удаление кавычек по краям строковой переменной
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | * Удаление кавычек по краям строковой переменной. * Данные (в переменной v1) заключены в двойные кавычки. * Задача удалить кавычки с обоих концов. * Автор: rlevesque@videotron.ca. *********** Метод 1. *### Первый случай: данные внутри кавычек являются числами. * Тогда конвертируем заключенные в кавычки значения (из переменной v1) в числовые значения переменной v3:. COMPUTE v2=NUMBER(SUBSTR(v1,2,RINDEX(v1,'"')-2),F8.2). *Обратите внимание, второй аргумент функции RINDEX - двойная кавычка, заключенная в две одинарные. *### Второй случай: данные внутри кавычек строковые. * Если v1 - строковая переменная с кавычками, избавиться от них можно так: * (длина новой переменной v4 будет на 2 байта короче длины v1). STRING v4(A8). COMPUTE v4=SUBSTR(v1,2,RINDEX(v2,'"')-2). ************* Метод 2. * Удаление начальных и конечных кавычек из строк (несколько переменных за раз). * Более общий метод, чем №1, поскольку удаляет как двойные, так и одинарные кавычки. * перечислите нужные для обработки переменные после знака равенства в следующей строке. DO REPEAT vname=name sex city. * Обратите внимание: в следующей команде #len содержит число символов между двумя кавычками. * Этот метод можно использовать для удаления ЛЮБЫХ ненужные символов в начале и конце строки. compute #len = rindex(vname,substr(vname,1,1))-2. compute vname=substr(vname,2,#len). END REPEAT. execute. |
Related pages
...