Отобрать наблюдения, для которых одна и та же буква появлялась в строке дважды
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 | *(Вопрос) У меня есть строковая переменная, в которой встречаются символы ABCDEFAGHI. * Требуется отметить те наблюдения, в которых в данной строке некоторый символ встречается больше 1 раза. Например, символ "A" встречается больше одного раза. Символы не всегда стоят на одном и том же месте в строке. Как это сделать? Заранее спасибо. *(Ответ) Размещён в новостной группе spss 10.12.2001, автор: Raynald Levesque. *Это синтаксис отмечает наблюдения, в которых буква (любая буква) встречается более 1 раза. DATA LIST /str 1-14(A). BEGIN DATA ABCDEFAGHI DBCDEFZGHI ZBCDEFAGHI ABCDEFGHI ABCDEFGHIJH END DATA. LIST. STRING #char (A1). LOOP cnt=1 TO 14. COMPUTE #char=SUBSTR(str,cnt,1). LOOP cnt2=cnt + 1 TO 14. DO IF #char=SUBSTR(str,cnt2,1) & #char<>" ". + COMPUTE flag=1. + BREAK. END IF. END LOOP. END LOOP. EXECUTE. * Наблюдения со значениями flag=1 - те, что вам требовались. |