🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Quartz | Level 8

## How to extract text data from a variable

I have below text data

"If  IsEqualTo Inclusion 1 then... set datapoint value for ILIST in Inclusion Criteria to LIST #1 - The subject is a boy or girl, aged ≥7 and <12years (patients who turn 12 years during the study will be allowed to continue in the game)., and execute the ""Return True"" custom function".

In this text i need to extract "The subject is a boy or girl, aged ≥7 and <12years (patients who turn 12 years during the study will be allowed to continue in the game)"  i.e whenever it starts with "-" and ends with ".," then i need the text in between.

Any help

1 ACCEPTED SOLUTION

Accepted Solutions
Diamond | Level 26

## Re: How to extract text data from a variable

If your logic is acurate then that is simple:

```/* Gets all text from - */
inter=substr(have,index(have,"-"));
/* gets all text up to . */
want=substr(inter,1,index(inter,"."));
```

Assumes both are present etc.

3 REPLIES 3
Diamond | Level 26

## Re: How to extract text data from a variable

If your logic is acurate then that is simple:

```/* Gets all text from - */
inter=substr(have,index(have,"-"));
/* gets all text up to . */
want=substr(inter,1,index(inter,"."));
```

Assumes both are present etc.

Obsidian | Level 7

## Re: How to extract text data from a variable

HI!

If your text is in a variable called "text", then this would work -->

want = scan(scan(text,2,'-'),1,'.') ;

Best regards,

Claes

Rhodochrosite | Level 12

## Re: How to extract text data from a variable

Hello,

A solution with a regexp :

``````data have;
string='If  IsEqualTo Inclusion 1 then... set datapoint value for ILIST in Inclusion Criteria to LIST #1 - The subject is a boy or girl, aged ≥7 and <12years (patients who turn 12 years during the study will be allowed to continue in the game)., and execute the ""Return True"" custom function';
extract=prxchange("s/.*-(.*)\..*/\$1/",1,string);
run;``````
Discussion stats
• 3 replies
• 1672 views
• 1 like
• 4 in conversation