Is there an easy way to pull a number from a text field column? I have a column with a lot of text, and just 1 number inside it. I'd like to just grab the number.
For instance: UNASSIGNED DM'S D2 CO-IL-KS-MN - I just want the 2.
The problem is this field is inconsistent with where it puts the number. Sometimes its at the end of the field, sometimes in the middle.
Any help would be appreciated. Thanks!This message has been edited. Last edited by: <Kathryn Henning>,
WebFocus 8.0.0.7 Window XP SP3 Excel, PDF, HTML
September 09, 2015, 05:26 PM
Dan Satchell
This suggestion/example assumes the embedded number will be no larger than 3 digits and that the maximum text length will be 100 characters. Adjust accordingly.
DEFINE FILE CAR
TEXT/A100 WITH COUNTRY = 'UNASSIGNED DM''S D2 CO-IL-KS-MN';
PATTERNX/A100 = PATTERN(100,TEXT,'A100');
LENGTHX/I3 = IF (POSIT(PATTERNX,100,'999',3,'I3') NE 0) THEN 3 ELSE
IF (POSIT(PATTERNX,100,'99',2,'I3') NE 0) THEN 2 ELSE
IF (POSIT(PATTERNX,100,'9',1,'I3') NE 0) THEN 1 ELSE 0 ;
STARTX/I3 = IF (LENGTHX EQ 3) THEN POSIT(PATTERNX,100,'999',3,'I3') ELSE
IF (LENGTHX EQ 2) THEN POSIT(PATTERNX,100,'99',2,'I3') ELSE
IF (LENGTHX EQ 1) THEN POSIT(PATTERNX,100,'9',1,'I3') ELSE 0 ;
ENDX/I3 = STARTX + LENGTHX ;
VALUEX/I5 = IF (LENGTHX EQ 0) THEN 0 ELSE EDIT(SUBSTR(100,TEXT,STARTX,ENDX,LENGTHX,'A5'));
END
-*
TABLE FILE CAR
PRINT TEXT PATTERNX LENGTHX STARTX ENDX VALUEX
WHERE RECORDLIMIT EQ 1 ;
END