sas - 扫描功能改变一个短语
问题描述
我有一个解码短语 (AE_SER_D)“在调查员的判断中是重大医疗事件”,我需要将其更改为“在调查员的判断中是重大医疗事件”,因为 r 和 s 之间的撇号导致程序出错. 我无法更改解码(AE_SER_C),但想使用扫描函数编写一行代码来搜索 ae_ser_d 是否为 ne '' 并包含此短语,但只想搜索短语的部分片段,就像我搜索一样对于整个短语,由于撇号,它会导致程序仍然出错。SCAN 是这里的最佳选择吗?
解决方案
使用 Reeza 的想法:使用compress()
函数和'p'
选项删除所有标点符号。假设您想要整个短语周围的单引号,请使用单引号将结果括起来cats()
。
data want;
AE_SER_D = cat("'Is a significant medical event in the Investigator's ", 'judgment"');
AE_SER_D_Fixed = cats("'", compress(AE_SER_D,,'p'), "'");
run;
如果只需要去掉引号而需要保留其他标点符号,直接在 中指定compress()
:
data want;
AE_SER_D = cat("'Is a significant medical event in the Investigator's ", 'judgment"');
AE_SER_D_Fixed = cats("'", compress(AE_SER_D, "'"""), "'");
run;
资料来源:KevinQin
推荐阅读
- php - 反向代理 - 获取用户 IP - PHP,APACHE
- c++ - 如何在用户计算机上创建一个桌面图标来运行包含 Gtkmm 和 Opencv 库的 C++ 程序?
- python - 如何不将图像保存在 PIL 中?
- bigdata - 通过 Nifi 将 XML 数据加载到 Snowflake 阶段表中
- python - Python - 并行化嵌套在 for 循环中的函数调用
- marklogic - MarkLogic 升级回滚过程
- java - 尝试修改私有静态字段时出现 IllegalAccessException
- xero-api - Xero - Payroll AU API | 如何在 Payroll AU API 中获取工资期?
- c++ - qt QFlags:有符号值超出枚举常量的范围
- ubuntu - 将字符串转换为整数 Ansible