Замена буквенных кодов на числовые
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 38 39 40 41 42 | * Тема: замена буквы в коде на десятичную точку с порядковым номером. * Ключевые слова: замена, преобразование, буква, цифры, число, конвертирование, код. * Опубликован: 16.06.2008. * Автор: rlevesque@videotron.ca. * Перевод: А. Балабанов. * Размещение: http://www.spsstools.ru/Syntax/Transform/TransformStringCodingIntoNumbers.txt (.sps). * (Вопрос) В строковой переменной, которая содержит некие коды, большинство значений - это 2-значные числа, но некоторые - содержат также буквы (например, 1A, 2B и т.д.). Мне бы надо через синтаксис заменить такие коды на числа. Например: 1A - на 1.1, 1B - на 2.2 и т.д. * (Ответ) Автор: rlevesque@videotron.ca, 24.10.2001. DATA LIST LIST /var1(A3). BEGIN DATA 1A 2b 3C 33 4d 5E 6f 7G 85 8H 9i 1B 1F END DATA. LIST. STRING end1(A1) beg1(A3). COMPUTE beg1=SUBSTR(var1,LEN(RTRIM(var1))-1,1). COMPUTE end1=UPCASE(SUBSTR(var1,LEN(RTRIM(var1)))). COMPUTE nb=INDEX("ABCDEFGHI",end1). DO IF nb>0. COMPUTE numb1=NUMBER(beg1,F8.0)+nb/10. ELSE. COMPUTE numb1=NUMBER(var1,F8.0). END IF. EXECUTE. |
Related pages
...