| Source | Temperature |
| MZ_ES20-ATF786_D03-R_8x8-5hz_NoCG_0klux-black3--5degc__20181105_203705 | -5 |
| MZ_ES20-ATF786_D03-R_8x8-5hz_NoCG_0klux-grey17--30degc__20181105_194659 | -30 |
| MZ_ES20-ATF786_D03-R_8x8-5hz_NoCG_0klux-white64-70degc__20181105_183920 | 70 |
Hi,
I am trying to extract the temperature from the "Source" column in the JMP table above using JSL
In the Temperature column I have written the results that I would like. My problem is that the delimiter between the colour
(black3,grey17 and white64) and the temperature is a dash "-" but sometimes the temperature is negative which is also "-"
I have tried a number of things with the Word function but so far to no avail. Any help with this would be apprecated.
Thanks and regards,
David
This problem is easily solved by the Regex() string function. Try this:
Num( Regex( :Source, "-(-?\d\d?\d?)degc", "\1" ) )
Here is a formula that I believe will do the trick
degCPosition = Contains( :Source, "degc__" ) - 1;
i = degCPosition;
While( Substr( :Source, i, 1 ) != "-", i-- );
If( Substr( :Source, i - 1, 1 ) == "-",
result = Num( Substr( :Source, i, (degCPosition - i) + 1 ) ),
result = Num( Substr( :Source, i + 1, degCPosition - i ) )
);
result;
This problem is easily solved by the Regex() string function. Try this:
Num( Regex( :Source, "-(-?\d\d?\d?)degc", "\1" ) )
Here is a formula that I believe will do the trick
degCPosition = Contains( :Source, "degc__" ) - 1;
i = degCPosition;
While( Substr( :Source, i, 1 ) != "-", i-- );
If( Substr( :Source, i - 1, 1 ) == "-",
result = Num( Substr( :Source, i, (degCPosition - i) + 1 ) ),
result = Num( Substr( :Source, i + 1, degCPosition - i ) )
);
result;