Save the date! Join us on October 16 for our Product Ops launch event. Register here.
Feb 18, 2020 10:11 AM
Doing some simple substring removal and getting different results from the block than in JS Bin.
let renderName = "MX_Topo-Chico-Agua_Mineral-Water_600ml_PET_6x";
let secondaryQuantity = "6x";
// scripting block generates an UNEXPECTED output: "MXTopo-Chico-Agua_Mineral-Water_600ml_PET"
output.text( removeSubString(renderName,secondaryQuantity) );
// JS Bin, however, outputs as EXPECTED: "MX_Topo-Chico-Agua_Mineral-Water_600ml_PET_"
// console.log( removeSubString(renderName,secondaryQuantity) );
function removeSubString(str,substr) {
return str.replace(substr,"");
}
Oddly, making use of a character (rather than “”) yields proper results.
renderName.replace(secondaryQuantity,"1")
=> "MX_Topo-Chico-Agua_Mineral-Water_600ml_PET_1"
Solved! Go to Solution.
Feb 24, 2020 05:39 PM
Quick update on this — the unexpected behavior has been fixed. output.text
will no longer apply Markdown formatting (use output.markdown
for that).
Feb 18, 2020 10:27 AM
Ah this is because output.text
supports Markdown. So it’s italicizing _Topo-Chico-Agua_
. I’d suggest either wrapping the input in backticks, e.g. output.text('`' + removeSubString(renderName,secondaryQuantity) + '`' );
or using console.log
if you’re just printing out for debugging.
Feb 24, 2020 05:39 PM
Quick update on this — the unexpected behavior has been fixed. output.text
will no longer apply Markdown formatting (use output.markdown
for that).