字符串中只保留字母和数字



我在SPSS中记录了一些公开的调查结果,只想保留常用的字符a-z和1-9

我已经做了rtrim和ltrim,这对大多数字符串都有效,但有些字符串还有尾部空格,我认为这些空格实际上不是空格,而是隐藏字符。我还删除了诸如"但我想肯定有一种比每一种都更直接的方法。

例如,我需要"EB"或";考试--ple">
说";示例";

以下语法将创建一个新的干净字段,并仅将原始字段中的数字和字母(大写或小写(复制到其中
请注意,我使用15作为新字段宽度和循环中的迭代次数-请将15更改为原始字段的实际宽度

do repeat val=1 to 15.
compute #i = number(char.substr(OrigField, val, 1), PIB).
if range(#i, 48, 57) or 
range(#i, 65, 90) or 
range(#i, 97, 122)  
CleanField=concat(rtrim(CleanField), char.substr(OrigField, val, 1)).
end repeat.
exe.

请参阅@user45392建议的链接,了解它是如何工作的/为什么工作的。如果您愿意,还可以查看此列表以获取可以添加到循环中的其他值。

最新更新