cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
See how to use to use Text Explorer to glean valuable information from text data at April 25 webinar.
Choose Language Hide Translation Bar
View Original Published Thread

Remove {" "} from the outside of a string

twillkickers
Level III

I am trying to extract a value out of a table using the following JSL:

::GlobalVariable= :Column[RowNumber]

However, my output for ::GlobalVariable has unwanted {" "} around it. How do I remove this/prevent this from happening? Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User


Re: Remove {" "} from the outside of a string

It appears that your column that you have nemed "Column" has list values saved in it.  That wouls account for the {} in your variable called ::GlobalVariable.  And that inside the list definition, there is a string element, which is where the "" are coming from.  I am assuming that you did not intend for the values within :Column to be this.  So I would look to see where the values are coming from, rather than trying to delete them after the fact.  But if that is not possible, I would use the Word function if the value has {""} imbedded in a string, or if it is actually being returned as a true list, then you can simply specify a subscript to get rid of the list component.

::GlobalVariable = word(1,:Column[RowNumber],"{}");
// or
::GlobalVariable = :Column[RowNumber][1];

 

Jim

View solution in original post

9 REPLIES 9
txnelson
Super User


Re: Remove {" "} from the outside of a string

It appears that your column that you have nemed "Column" has list values saved in it.  That wouls account for the {} in your variable called ::GlobalVariable.  And that inside the list definition, there is a string element, which is where the "" are coming from.  I am assuming that you did not intend for the values within :Column to be this.  So I would look to see where the values are coming from, rather than trying to delete them after the fact.  But if that is not possible, I would use the Word function if the value has {""} imbedded in a string, or if it is actually being returned as a true list, then you can simply specify a subscript to get rid of the list component.

::GlobalVariable = word(1,:Column[RowNumber],"{}");
// or
::GlobalVariable = :Column[RowNumber][1];

 

Jim
ENTHU
Level IV


Re: Remove {" "} from the outside of a string

I am facing the same problem with slight variation. I combine 2 columns and get the values of resulting column as a list.
I then assign this list to a cell.When I do so,the output is {"100@boiling","0@melting"}.
I need to remove {" "}.How can I do this?

Below is my code-

//Combine temperature and process step columns to get test temperature
dtCombined = dtSorted << Combine Columns(
delimiter( "@" ),
Columns(
:Temperature,
:process
),
//Selected Columns are Indicator Columns( 1 ),
Column Name( "Process_Temperature" )
);



unique_vals = {};
unique_vals = Associative Array(dtSorted:Process_Temperature) << Get Keys;
Column(dtemplate,"Value")[30] = Char(unique_vals) ;
ENTHU
Level IV


Re: Remove {" "} from the outside of a string

I am able to remove {} using the solution mentioned above.But I need to take the " " (quotes) out as well.
Any help is appreciated.
txnelson
Super User


Re: Remove {" "} from the outside of a string

you can use the parse() funcction to do that:

x="zippy"; show(parse(x))
Jim
ENTHU
Level IV


Re: Remove {" "} from the outside of a string

My list is {"100@boiling","0@melting"}.

I first used word function to remove {} which works fine.

But when I do parse(),I see an error -

Unexpected ",". Perhaps there is a missing ";" or ",".
Line 1 Column 7: 

The remaining text that was ignored was
-----

txnelson
Super User


Re: Remove {" "} from the outside of a string

Since the data is in a data table, the following should work:

Names Default To Here( 1 );
dt = New Table( "Untitled 8",
	Add Rows( 1 ),
	New Column( "Column 1",
		Character,
		"Nominal",
		Set Values( {"{\!"100@boiling\!",\!"0@melting\!"}"} )
	)
);

dt << New Column( "converted", character );

dt:converted[1] = Word( 2, dt:column 1[1], "\!"" ) || "," ||
Word( 4, dt:column 1[1], "\!"" ); 

convert.PNG

Jim
pmroz
Super User


Re: Remove {" "} from the outside of a string

It's a little cleaner with concat items.

New Table( "Test", Add Rows( 1 ),
	New Column( "Column 1", Character, "Nominal",
		Set Values( {"{\!"100@boiling\!",\!"0@melting\!"}"} )
	),
	New Column( "Column 2", Character, "Nominal",
		Formula(
			one_list = Eval( Parse( :Column 1 ) );
			Concat Items( one_list, "," );
		),
	)
);
pmroz
Super User


Re: Remove {" "} from the outside of a string

You can also use substitute to remove {} and ".

New Table( "Test", Add Rows( 1 ),
	New Column( "Column 1", Character, "Nominal",
		Set Values( {"{\!"100@boiling\!",\!"0@melting\!"}"} )
	),
	New Column( "Column 2", Character, "Nominal",
		Formula( Substitute( :Column 1, "{", "", "}", "", "\!"", "" ) ),
	)
);
ENTHU
Level IV


Re: Remove {" "} from the outside of a string

Thanks.This works!