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

## want to add space before numeric and after numeric

Hi guys, I want to add particular number of white spaces in a string. Like suppose we have string "MESSAGE7676ASFD" . I want X number of spaces before numeric of "MESSAGE7676ASFD" then how can i do the same. Output should be like "MESSAGE  7676  ASFD" =>  X spaces between MESS AGE  7676  ASFD . Thanks in advance.

1 ACCEPTED SOLUTION

Accepted Solutions
Barite | Level 11

## Re: want to add space before numeric and after numeric

``````/*Regular Expression Definition*/
/*1st Capturing Group (^[A-Za-z])*/
/*^ asserts position at start of a line*/
/*Match a single character present in the list below [A-Za-z]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*a-z matches a single character in the range between a  and z */
/*2nd Capturing Group ([0-9])*/
/*Match a single character present in the list below [0-9]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) */
/*3rd Capturing Group ([A-Za-z])*/
/*Match a single character present in the list below [A-Za-z]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*a-z matches a single character in the range between a  and z */

data want;
str="MESSAGE7676ASFD";
str_new=prxchange("s/(^[a-z]+)([0-9]+)([a-z]+)/\$1 \$2 \$3/io",-1,str);

put (_all_) (=);
run;``````
```40         data want;
41         	str="MESSAGE7676ASFD";
42         	str_new=prxchange("s/(^[a-z]+)([0-9]+)([a-z]+)/\$1 \$2 \$3/io",-1,str);
43
44         	put (_all_) (=);
45         run;

str=MESSAGE7676ASFD str_new=MESSAGE 7676 ASFD```
3 REPLIES 3
Barite | Level 11

## Re: want to add space before numeric and after numeric

``````/*Regular Expression Definition*/
/*1st Capturing Group (^[A-Za-z])*/
/*^ asserts position at start of a line*/
/*Match a single character present in the list below [A-Za-z]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*a-z matches a single character in the range between a  and z */
/*2nd Capturing Group ([0-9])*/
/*Match a single character present in the list below [0-9]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) */
/*3rd Capturing Group ([A-Za-z])*/
/*Match a single character present in the list below [A-Za-z]*/
/*+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed */
/*a-z matches a single character in the range between a  and z */

data want;
str="MESSAGE7676ASFD";
str_new=prxchange("s/(^[a-z]+)([0-9]+)([a-z]+)/\$1 \$2 \$3/io",-1,str);

put (_all_) (=);
run;``````
```40         data want;
41         	str="MESSAGE7676ASFD";
42         	str_new=prxchange("s/(^[a-z]+)([0-9]+)([a-z]+)/\$1 \$2 \$3/io",-1,str);
43
44         	put (_all_) (=);
45         run;

str=MESSAGE7676ASFD str_new=MESSAGE 7676 ASFD```
Quartz | Level 8

## Re: want to add space before numeric and after numeric

Thanks a ton
Calcite | Level 5

## Re: want to add space before numeric and after numeric

You can use the prxchange function for this.

Discussion stats
• 3 replies
• 825 views
• 1 like
• 3 in conversation