计算SAS中字符串中的句子数

时间:2017-10-20 08:25:51

标签: count sas

我想知道SAS中是否有一种简单的方法来计算字符串中的句子?

在伪代码中,我会搜索每个.?!的索引,并检查之前的索引(-1或{{1 }})是一个角色。

有更好的想法吗?

1 个答案:

答案 0 :(得分:2)

假设你的句子被正确地标点,每?!.个句子应该只有一个句子,所以在这种情况下你可以使用countc(my_string,'?!.')。主要的例外情况可能是interrobangs(?!!?)和省略号(...)。

如果你的字符串中包含大量没有停止或双停的句子,一个选项只是交叉你的手指,希望他们或多或少取消。

如果有很多双重停靠但没有那么多丢失的停止,你可以应用正则表达式来替换任何连续停止运行的单个.,然后再计算它们,例如countc(prxchange('s/[\.!\?]{2,}/./',-1,string),'?!.')