楼主: dc1015
5492 9

请教大神:使用函数compress()返回乱码,是怎么回事? [推广有奖]

  • 0关注
  • 1粉丝

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
226 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
289 点
帖子
21
精华
0
在线时间
126 小时
注册时间
2012-8-13
最后登录
2023-9-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
data _null_;
impression="    肺动脉CTA未见栓塞。

    符合慢性支气管炎、肺气肿影像表现,双肺陈旧结核(硬结、纤维化)。

    右中纵膈囊性占位,需鉴别胸腺瘤与心包囊肿,请行进一步检查。

    甲状腺右叶结节病灶,建议专科检查。


";
impression1=compress(impression,"陈旧性结核");
put impression1;
run;
返回
102  data _null_;
103  impression="    肺动脉CTA未见栓塞。
104
105      符合慢性支气管炎、肺气肿影像表现,双肺陈旧结核(硬结、纤维化)。
106
107      右中纵膈囊性占位,需鉴别胸腺瘤与心包囊肿,请行进一步检查。
108
109      甲状腺右叶结节病灶,建议专科检查。
110
111
112  ";
113  impression1=compress(impression,"陈旧性结核");
114  put impression1;
115  run;

肺动鯟TA未见ㄈ?   符淆支气管炎、肺气肿影像表现,危ㄓ病⑾维化)。    右肿蓦跄艺嘉唬鉴别叵倭鲇肽包囊肿,请徊检
查。    甲状腺右叶诓☆,ㄒ樽ǹ萍觳椤?
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:compress Press comp OMP MPR 支气管炎 甲状腺 肺气肿 肺动脉 null

沙发
mingfeng07 学生认证  发表于 2014-8-28 10:40:54 |只看作者 |坛友微信交流群
impression1=compress(impression,"陈旧性结核");
改成  impression1=kcompress(impression,"陈旧性结核");

使用道具

藤椅
dc1015 发表于 2014-8-28 23:23:36 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-8-28 10:40
impression1=compress(impression,"陈旧性结核");
改成  impression1=kcompress(impression,"陈旧性结核") ...
完美解答!mingfeng07 大神,我真崇拜你!
compress()和kcompress()
这两个有什么区别?为什么compress()会出错?原理何在?
kcompress()这个函数第一次见到


使用道具

板凳
mingfeng07 学生认证  发表于 2014-8-29 09:06:05 |只看作者 |坛友微信交流群
dc1015 发表于 2014-8-28 23:23
完美解答!mingfeng07 大神,我真崇拜你!
compress()和kcompress()
这两个有什么区别?为什么compress ...
kcompress函数主要作用于双音节字符,也就是中文字符,比如kindex()也是如此。而compress只能用于单音节字符,也就是英文字符。

使用道具

报纸
dc1015 发表于 2014-8-29 20:53:55 |只看作者 |坛友微信交流群
明白了。谢谢,大神
不过我的问题还是没有解决。
我想把字段中“陈旧性肺结核”从字段中剔除,这种方法行不通。
大神,有什么好办法没?谢谢
data _null_;
impression="双上肺陈旧性肺结核";
impression1=kcompress(impression,"陈旧性肺结核");
put impression;
put impression1;
run;
输出:
双上肺陈旧性肺结核
双上

使用道具

地板
dc1015 发表于 2014-8-29 20:56:09 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-8-29 09:06
kcompress函数主要作用于双音节字符,也就是中文字符,比如kindex()也是如此。而compress只能用于单音节 ...
明白了,谢谢,大神,还有一问

我想把字段中“陈旧性肺结核”字符去掉,怎么做到?
下面这种方法,行不通!
data _null_;
impression="双上肺陈旧性肺结核";
impression1=kcompress(impression,"陈旧性肺结核");
put impression;
put impression1;
run;

使用道具

7
mingfeng07 学生认证  发表于 2014-8-30 09:48:40 |只看作者 |坛友微信交流群
dc1015 发表于 2014-8-29 20:56
明白了,谢谢,大神,还有一问

我想把字段中“陈旧性肺结核”字符去掉,怎么做到?
  1. data _null_;
  2. impression="双上肺陈旧性肺结核,例如肺的陈旧性以及陈旧性肺结核等等";
  3. impression1=kcompress(tranwrd(impression,"陈旧性肺结核",''));
  4. put impression;
  5. put impression1;
  6. run;
复制代码

使用道具

8
dc1015 发表于 2014-8-30 13:04:27 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-8-30 09:48
Thank you very much!

使用道具

9
dl_isabella 发表于 2017-7-19 21:18:06 |只看作者 |坛友微信交流群
mingfeng07 发表于 2014-8-30 09:48
你好呀,想问一下:
1、为什么kcompress不能实现呢?这个函数与conpress不是就是处理中文类的字符的吗?
2、另外tranwdr对于处理英文类字符与中文类字符不会出现问题么?他可以识别中英文?
谢谢啊!

使用道具

10
mingfeng07 学生认证  发表于 2017-8-8 10:44:13 |只看作者 |坛友微信交流群
dl_isabella 发表于 2017-7-19 21:18
你好呀,想问一下:
1、为什么kcompress不能实现呢?这个函数与conpress不是就是处理中文类的字符的吗? ...
kcompress函数会压缩掉所有存在于列表里的字符,也就是说,只要字符串里有陈、旧等单个字符,就会被压缩掉,而这个不是我们的本意;tranwrd是转换字符串,而不是字符,因此双音节字符串越长越容易与单音节字符串区分开,如果是单个的双音节也可能会出现误转换的情况。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 15:10