text - SAS:删除一个字符后的所有文本

标签 text sas analytics punctuation

我有一列数据,假设它看起来像这样:

This is text: part 2
This is text
This is also text: part 3

我需要删除 : 之后的所有内容,以便所有三行数据都显示为:

This is text
This is text
This is also text

有谁知道如何在 SAS 中执行此操作?我通常会删除标点符号等...但还没有必要删除字符后的所有内容。

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

最佳答案

SCAN() 函数可以很好地解决这个问题。

want = scan(have,1,':');

唯一的问题可能是文本是否以冒号开头。如果文本以冒号(或多个冒号)开头,则 SCAN(have,1,':') 将返回前导冒号之后的第一个文本 block 。如果您将修饰符“M”添加到 SCAN() 调用,那么它将把多余的冒号视为表示缺失值并返回一个空字符串。

want=scan(have,1,':','m');

关于text - SAS:删除一个字符后的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759161/

相关文章:

java - Android Speech to text API 从 onActivityResult 方法中获取变量值

java - 在 java 中,是否有任何简单的方法可以将 'glow' 添加到 swing 组件上的文本?

sql - SAS 或 SQL : re-arrange a table based on relation between variable values

javascript - Google Analytics API 以可读格式输出数据

redis - 如何在Redis中相交并找到不同的键

android - 在 Android Canvas 上,如何使用 drawText 调整跟踪、字母间距?

jquery - 文本在 div 下方偏移

json - 使用SAS解析Json文件

sql - 选择数字列作为字符串

google-analytics - Google Analytics 和实时分析比较 : Chartbeat vs Clicky vs Mixpanel