cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.
  • See how to access JMP Marketplace - and - find, create & share add-ins to extend your JMP. Watch video.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
SpannerHead
Level VI

Use Regex to Replace Spaces In a Table Column

I have a table column that contains a variable quantity of spaces in each cell.  I want to collapse those to a single space.  I presume regex can eliminate those but I've never applied regex outside a column formula.  Is this even the best approach and if so, how do I achieve it?


Slán



SpannerHead
1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Use Regex to Replace Spaces In a Table Column

Collapse Whitespace() is basically meant for this (you can also use other methods)

Names Default To Here(1);

mystr = "a         b";

res1 = Regex(mystr, " +", " ", GLOBALREPLACE);

res2 = Concat Items(Words(mystr, " "), " ");

res3 = Collapse Whitespace(mystr);

show(res1, res2, res3);

Recode has Collapse Whitespace so you can just use that

jthi_0-1738865998371.png

and it will provide you with a script

// Recode column: Column 6
Local({dt},
	dt = Data Table("Big Class");
	dt << Begin Data Update;
	For Each Row(dt, dt:Column 6[] = Collapse Whitespace(dt:Column 6));
	dt << End Data Update;
);

 

 

-Jarmo

View solution in original post

1 REPLY 1
jthi
Super User

Re: Use Regex to Replace Spaces In a Table Column

Collapse Whitespace() is basically meant for this (you can also use other methods)

Names Default To Here(1);

mystr = "a         b";

res1 = Regex(mystr, " +", " ", GLOBALREPLACE);

res2 = Concat Items(Words(mystr, " "), " ");

res3 = Collapse Whitespace(mystr);

show(res1, res2, res3);

Recode has Collapse Whitespace so you can just use that

jthi_0-1738865998371.png

and it will provide you with a script

// Recode column: Column 6
Local({dt},
	dt = Data Table("Big Class");
	dt << Begin Data Update;
	For Each Row(dt, dt:Column 6[] = Collapse Whitespace(dt:Column 6));
	dt << End Data Update;
);

 

 

-Jarmo

Recommended Articles