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
* Проверка вхождения в строковую переменную всех слов заданной фразы.

* Рейналь, привет! ... Я просмотрел твой сайт, твою книгу SPSS Programming and Data Management,
* а также ряд форумов по SPSS в поисках решения одной проблемы, но так и не нашёл. Требуется проверить,
* находятся или нет все слова из заданного перечня (фразы) в некоторой переменной моего набора данных.
* Целый день пытаюсь найти решение, но никак не могу найти его для такой, казалось бы, несложной проблемы.
* Какие будут предложения?.

* Автор кода: raynald@spsstools.net, 16.02.2006.

NEW FILE.
DATA LIST / TESTVAR (A50).
BEGIN DATA
THIS IS A TEST CASE
THIS TESTS NOTHING THIS
END DATA.

DEFINE !findstr (!POS !CMDEND).
COMPUTE foundall=1.
  !DO !j !IN (!1).
  !LET !tempstr = !QUOTE(!j).
    IF INDEX(TESTVAR,!tempstr)=0 foundall=0.  
  !DOEND.
  EXECUTE.
!ENDDEFINE.

* Тестовая фраза.
!findstr THIS TESTS NOTHING .