楼主: louis_bai
3879 2

[问答] 如何利用正则函数只提取汉字或者只匹配中文标点符号 [推广有奖]

  • 0关注
  • 1粉丝

本科生

54%

还不是VIP/贵宾

-

威望
0
论坛币
1079 个
通用积分
2.0011
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
867 点
帖子
23
精华
0
在线时间
143 小时
注册时间
2018-7-23
最后登录
2021-3-9

10论坛币
如以下程序,利用这个编码范围[\xa1-\xff],会将汉字和中文符号都匹配出来,不是楼主想要达到的目的。

问题楼主想要的只是中文的标点符号,或者只要汉字(不包括符号)

希望能人志士给予帮助

  1. data test;
  2. a='aa选条件。,:;【】aaaaaa';
  3. pattern=prxparse("/[\xa1-\xff]+/o");
  4. position=prxmatch(pattern,a);
  5. if position ne 0 then target=prxposn(pattern,0,a);
  6. run;
复制代码



关键词:标点符号 中文符号 点符号
沙发
sas9.4 发表于 2018-10-31 14:37:37 |只看作者 |坛友微信交流群
GB2312汉字
CODE:
[/xb0-/xf7][/xa0-/xfe]

GB2312半角标点符号及特殊符号
CODE:
/xa1[/xa2-/xfe]

使用道具

藤椅
sas9.4 发表于 2018-10-31 21:24:11 |只看作者 |坛友微信交流群
一个不幸的消息,  貌似SAS的正则表达式不能很好的支持中文等双字节字符,还是用 perl 吧

If you use the regular-expression-id argument, you cannot process DBCS and MBCS data because the argument requires the PRXPARSE function, which is not DBCS compatible.

https://go.documentation.sas.com/?docsetId=lefunctionsref&docsetTarget=n0bj9p4401w3n9n1gmv6tf*****9m.htm&docsetVersion=3.1&locale=en

使用道具

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

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

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

GMT+8, 2024-4-27 01:47