SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 871|回复: 8
打印 上一主题 下一主题

如何识别名字中间的空格

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-12-4 18:51:05 | 只看该作者

如何识别名字中间的空格

请教各位;如何识别银行中客户名字经过系统处理后是否存在空格其他一些不规范字符,还是没有办法识别啊,谢谢关注,在线期待中!
data work.cannotpass;
set work.test1123;
if indexc(name,' ','(',')','?','.')> 0 or indexc(address,' ','(',')','?','.')> 0;
run;
name address 都是从文本文件中提出的$变量。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-12-5 10:53:26 | 只看该作者

to something

如果有明确的规则,如空格、问号等等属于不符合要求的字符,只要用compress函数把它们去处掉就行了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-12-5 12:51:40 | 只看该作者

回复:

谢谢,不过我还是想识别空格的帐户记录.继续关注中
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2005-12-7 10:25:56 | 只看该作者

我没有看懂你的问题

你是说名字中间有空格是合法的,而有其他的字符(如:,)是不合法的,需要检验出来?我的理解对吗?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2005-12-7 19:20:49 | 只看该作者

回复:

这位同志理解的是对的,就是想识别从我们行业务系统中提取的客户开户名字中间是否有空格,是不是为有效字符,如果有的话要把这样的数据提出让下面的分行进行核对甚至删除,
真不知道怎么识别,谢谢各位关注,谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2005-12-8 10:39:33 | 只看该作者

Re: 回复:回复回复回复

提问的同志还好意思说别的同志的理解是对的.
我看你解释了三次都还表达不清楚你想要干什么.
一会又说空格是想要的,一会又说什么是非法字符.一会又说要找什么有效字符,然后又说有有效字符的数据要进行核对和删除.
你们银行有你来做事情真是他们的大幸,客户的不幸啊. <!-- s:oops: --><img src="{SMILIES_PATH}/icon_redface.gif" alt=":oops:" title="Embarassed" /><!-- s:oops: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2005-12-8 11:25:29 | 只看该作者

#

老实说,我也感到something兄弟的需求不太明确。
不过ahuige也刻薄些,大家别介意。 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2005-12-8 19:48:05 | 只看该作者

Re: 如何识别名字中间的空格

if compress(a, ',()?. ')=a then flag=0; else flag=1;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2005-12-9 15:54:24 | 只看该作者

察看ASCII表

[code:725f7]DATA WORK&#46;CANNOTPASS;
        SET WORK&#46;TEST1123;
        DO I=1 TO KLENGTH&#40;NAME&#41; BY 1;
                NUM=RANK&#40;SUBSTR&#40;NAME,I,1&#41;&#41;;
                IF NUM &lt;32 OR 48&gt;NUM&gt;32 OR 65&gt;NUM&gt;57 OR 97&gt;NUM&gt;90 OR 124&gt;NUM&gt;128 THEN DO;
                        OUTPUT;
                END;
        END;
RUN;[/code:725f7]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 11:01 , Processed in 0.095915 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表