我在SPSS中有一个语法,在以前(对于其他数据集)中工作正常,但现在正在行动。这是一个过滤器,使我可以选择某些其他字符串的一部分字符串。例如,我可能正在寻找带有字符串“面包”的单元格,但是在它是字符串的一部分“ breadbin”的情况下,我对它不感兴趣。 我一直这样做的方式是: 首先,有一个“简单”的字符串搜索,对于我不感兴趣的字符串的字符串,这些字符串通常不感兴趣:
COMPUTE keyword = 0.
IF (CHAR.INDEX (column1,'bread')=1) keyword = 1.
EXECUTE.
这效果很好。什么不是更复杂的过滤器:
COMPUTE keyword = 0.
IF ((CHAR.INDEX (column1,'bread')=1 | (CHAR.INDEX (column1,'breadbin')=0)) keyword = 1.
EXECUTE.
这不会遇到任何错误,但是它返回每行的值1,甚至是空白!我不知道为什么。有线索吗?
首先,当第一个(数字1)Charachter的位置存在字符串“面包”时。如果您想检查文本中的任何地方是否存在“面包” - 这样做:
(CHAR.INDEX (column1,'bread')=1)
(CHAR.INDEX (column1,'bread')>0)
)或根本不出现(
((CHAR.INDEX (column1,'bread')=1 | (CHAR.INDEX (column1,'breadbin')=0))
),则条件是正确的 - 这意味着它始终是正确的,在所有情况下都会导致
=1
。