Substring not working
I am trying to output the first X characters of a XML response and getting error.
Line in the code below, MESSAGE2 can be very long and I like to output only the first 40 characters.
Please help.
def xmlResponse = tStep.getPropertyValue("Response")
def holder = groovyUtils.getXmlHolder(xmlResponse)
def MESSAGE1 = holder.getNodeValue("/S:Envelope/S:Body/ns2:changeMsisdnResponse/resultData/errorCode")
def MESSAGE2 = holder.getNodeValue("/S:Envelope/S:Body/ns2:changeMsisdnResponse/resultData/message")
MESSAGE3 = substring( MESSAGE2, 0, 39)
log.info MESSAGE1 + " " + MESSAGE3
Hi,
I honestly cannot think of a way to use an 'if' against string length decision without calculating the length.
Your approach looks good, but if its making it more concise that you're after, then try...
if ( MESSAGE2.length() > 92 ) { MESSAGE2 = MESSAGE2.substring(0,91) }
You might want to have a read about Ternary operators (https://groovy-programming.com/post/175536037619) which are very concise conditionals, but you'll still need to work out the length.