cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
  • New JMP features coming to desktops everywhere this September. Sign up to learn more at jmp.com/launch.
Choose Language Hide Translation Bar
SpannerHead
This widget could not be displayed.
" alt = "Level VI"/> 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