首页 > 解决方案 > SAS如何在特定字符串之前提取单个字符串?

问题描述

我正在尝试在字符串之前提取数字 n :

DEMO_DASHBOARD_n_START_TIME

我应该如何提取n?

我试过了,但没有奏效:

  id = scan(name, -1, "_START_TIME");
  id = substr(name, index(name,"_START_TIME") - 1);

数字 n 必须在 _START_TIME 之前,而不仅仅是字符串中的一个数字。因此不应使用 compress() 来仅提取数字。

感谢您的任何投入!

标签: sas

解决方案


所以,是时候使用正则表达式了。

Pat = prxparse('/(\d+)_START_TIME/');
if prxmatch(Pat,) then ID = prxposn(Pat,1,Name);

推荐阅读