SAS:删除字符后的所有文本

con*_*fac 1 text analytics sas punctuation

我有一列数据,让我们说它看起来像这样:

This is text: part 2
This is text
This is also text: part 3
Run Code Online (Sandbox Code Playgroud)

我需要在以下内容之后删除所有内容:以便所有三行数据都将读取:

This is text
This is text
This is also text
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在SAS中这样做?我通常删除标点,等等...但还没有必要删除字符后的所有内容.

任何指导将不胜感激 - 谢谢.

Tom*_*Tom 6

SCAN()功能适用于此.

want = scan(have,1,':');
Run Code Online (Sandbox Code Playgroud)

唯一的问题可能是文本以冒号开头.如果文本以冒号(或多个冒号)开头,SCAN(have,1,':')则将返回前导冒号后的第一个文本块.如果将修饰符"M"添加到SCAN()调用中,则它会将额外冒号视为表示缺失值并返回空字符串.

want=scan(have,1,':','m');
Run Code Online (Sandbox Code Playgroud)