[{"data":1,"prerenderedAt":711},["ShallowReactive",2],{"node-red-\u002Fnode-red\u002Fgetting-started\u002Fstring":3},{"id":4,"title":5,"body":6,"description":703,"extension":704,"meta":705,"navigation":706,"path":707,"seo":708,"stem":709,"__hash__":710},"nodeRed\u002Fnode-red\u002Fgetting-started\u002Fstring.md","Strings in Node-RED: Convert String to Number, Split, Concatenate, Trim, and More",{"type":7,"value":8,"toc":688},"minimark",[9,17,21,26,29,74,85,90,94,97,121,130,133,137,140,203,224,227,231,234,259,272,275,279,282,310,325,328,332,335,374,379,415,418,422,425,449,459,462,466,469,498,517,520,523,527,530,555,568,571,575,578,604,614,617,621,624,649,669,672,676,679],[10,11,13],"h1",{"id":12},"",[14,15],"binding",{"value":16},"meta.title",[18,19,20],"p",{},"Strings are one of the most common data types in Node-RED. Whether you're converting sensor values, parsing API responses, or building dynamic messages, understanding string operations is essential for building reliable flows.",[22,23,25],"h2",{"id":24},"converting-string-to-number","Converting String to Number",[18,27,28],{},"One of the most frequent operations is converting string values to numbers for mathematical calculations or comparisons.",[30,31,32,41,55,65,71],"ol",{},[33,34,35,36,40],"li",{},"Connect your data source to a ",[37,38,39],"strong",{},"Change"," node",[33,42,43,44,46,47,50,51],{},"In the ",[37,45,39],{}," node, set the rule to ",[37,48,49],{},"\"Set\""," ",[52,53,54],"code",{},"msg.payload",[33,56,57,58,61,62],{},"Select ",[37,59,60],{},"\"to the value of\""," and choose ",[37,63,64],{},"JSONata expression",[33,66,67,68],{},"Enter: ",[52,69,70],{},"$number(payload)",[33,72,73],{},"Connect to where you need the processed data",[18,75,76,77,80,81,84],{},"If your payload contains the string ",[52,78,79],{},"\"42\"",", it becomes the number ",[52,82,83],{},"42",". You can now use this in calculations or comparisons.",[86,87],"render-flow",{":height":88,"flow":89},"200","W3siaWQiOiIyYWM2OGVkMWQ5YTdiMzgwIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiI0MiIsInBheWxvYWRUeXBlIjoic3RyIiwieCI6NTMwLCJ5IjoyMDAsIndpcmVzIjpbWyJhMTRhNjdhYzY1NzRhZTgyIl1dfSx7ImlkIjoiYTE0YTY3YWM2NTc0YWU4MiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlN0cmluZyB0byBOdW1iZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRudW1iZXIocGF5bG9hZCkiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjcxMCwieSI6MjAwLCJ3aXJlcyI6W1siMjI1ZjRjNmE0N2RmMmQzYyJdXX0seyJpZCI6IjIyNWY0YzZhNDdkZjJkM2MiLCJ0eXBlIjoiZGVidWciLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo5NTAsInkiOjIwMCwid2lyZXMiOltdfV0=",[22,91,93],{"id":92},"converting-number-to-string","Converting Number to String",[18,95,96],{},"Converting numbers to strings is useful for displaying values, building messages, or formatting output.",[30,98,99,103,110,114,119],{},[33,100,35,101,40],{},[37,102,39],{},[33,104,105,106,50,108],{},"Set the rule to ",[37,107,49],{},[52,109,54],{},[33,111,57,112],{},[37,113,64],{},[33,115,67,116],{},[52,117,118],{},"$string(payload)",[33,120,73],{},[18,122,123,124,126,127,129],{},"A number like ",[52,125,83],{}," becomes the string ",[52,128,79],{},", ready for text operations.",[86,131],{":height":88,"flow":132},"W3siaWQiOiIzOGI5MTEwMTkwZGRiYTUzIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiI0MiIsInBheWxvYWRUeXBlIjoibnVtIiwieCI6NTMwLCJ5IjoyNjAsIndpcmVzIjpbWyIwNmE0YjY1OTFhNzkxZjhkIl1dfSx7ImlkIjoiMDZhNGI2NTkxYTc5MWY4ZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6Ik51bWJlciB0byBTdHJpbmciLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRzdHJpbmcocGF5bG9hZCkiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjcxMCwieSI6MjYwLCJ3aXJlcyI6W1siYzU2MDQyNjYyN2E1NjEzNyJdXX0seyJpZCI6ImM1NjA0MjY2MjdhNTYxMzciLCJ0eXBlIjoiZGVidWciLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo5NTAsInkiOjI2MCwid2lyZXMiOltdfV0=",[22,134,136],{"id":135},"splitting-strings","Splitting Strings",[18,138,139],{},"Splitting strings is essential when parsing CSV data, breaking apart delimited values, or extracting specific parts of text.",[30,141,142,148,151,195,201],{},[33,143,144,145,40],{},"Connect your string data source to a ",[37,146,147],{},"Split",[33,149,150],{},"Double-click the Split node to open its configuration",[33,152,43,153,156,157],{},[37,154,155],{},"\"Split using\""," field, enter your delimiter character:\n",[158,159,160,166,171,177,183,189],"ul",{},[33,161,162,165],{},[52,163,164],{},","," for comma-separated values (CSV)",[33,167,168,170],{},[52,169,50],{}," (space) for splitting words",[33,172,173,176],{},[52,174,175],{},"\\n"," for splitting by lines",[33,178,179,182],{},[52,180,181],{},"\\t"," for tab-separated values (TSV)",[33,184,185,188],{},[52,186,187],{},";"," for semicolon-separated data",[33,190,191,194],{},[52,192,193],{},"|"," for pipe-delimited data",[33,196,197,198],{},"Click ",[37,199,200],{},"Done",[33,202,73],{},[18,204,205,206,209,210,213,214,213,217,213,220,223],{},"The Split node creates separate messages for each segment. For example, if you receive a log entry ",[52,207,208],{},"\"2024-12-15 14:30:45 ERROR Database connection failed\""," and you split using spaces, it produces separate messages: first ",[52,211,212],{},"\"2024-12-15\"",", then ",[52,215,216],{},"\"14:30:45\"",[52,218,219],{},"\"ERROR\"",[52,221,222],{},"\"Database\"",", and so on. Each piece flows through your subsequent nodes one at a time, allowing you to extract the timestamp, severity level, and message separately.",[86,225],{":height":88,"flow":226},"W3siaWQiOiI2YTVjMTNkMmU1YmYxNTJmIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIyMDI0LTEyLTE1IDE0OjMwOjQ1IEVSUk9SIERhdGFiYXNlIGNvbm5lY3Rpb24gZmFpbGVkIiwicGF5bG9hZFR5cGUiOiJzdHIiLCJ4Ijo1MzAsInkiOjMyMCwid2lyZXMiOltbIjRkM2U0YzcxNWU5NDU3MmIiXV19LHsiaWQiOiI5ZTkwYjY2M2MwODA2N2ZjIiwidHlwZSI6ImRlYnVnIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6OTUwLCJ5IjozMjAsIndpcmVzIjpbXX0seyJpZCI6IjRkM2U0YzcxNWU5NDU3MmIiLCJ0eXBlIjoic3BsaXQiLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlNwbGl0IFN0cmluZyIsInNwbHQiOiIgIiwic3BsdFR5cGUiOiJzdHIiLCJhcnJheVNwbHQiOjEsImFycmF5U3BsdFR5cGUiOiJsZW4iLCJzdHJlYW0iOmZhbHNlLCJhZGRuYW1lIjoiIiwicHJvcGVydHkiOiJwYXlsb2FkIiwieCI6NjkwLCJ5IjozMjAsIndpcmVzIjpbWyI5ZTkwYjY2M2MwODA2N2ZjIl1dfV0=",[22,228,230],{"id":229},"concatenating-strings","Concatenating Strings",[18,232,233],{},"Combining strings is common when building messages, URLs, or formatted output.",[30,235,236,243,246,253,257],{},[33,237,238,239,242],{},"Add a ",[37,240,241],{},"Template"," node after the nodes containing your data",[33,244,245],{},"Double-click to open the Template configuration",[33,247,248,249,252],{},"Write your text and insert variables using ",[52,250,251],{},"{{variableName}}"," syntax",[33,254,197,255],{},[37,256,200],{},[33,258,73],{},[18,260,261,262,264,265,268,269],{},"Each ",[52,263,251],{}," is replaced with actual data. For example, the template ",[52,266,267],{},"Hello {{payload.name}}, your order #{{payload.orderId}} has shipped to {{payload.city}}."," with data containing name \"Sarah\", orderId \"12345\", and city \"Portland\" produces: ",[52,270,271],{},"Hello Sarah, your order #12345 has shipped to Portland.",[86,273],{":height":88,"flow":274},"W3siaWQiOiI2MGNiMGExZDc5YjA5NWEzIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJ7XCJuYW1lXCI6XCJTYXJhaFwiLFwib3JkZXJJZFwiOlwiMTIzNDVcIixcImNpdHlcIjpcIlBvcnRsYW5kXCJ9IiwicGF5bG9hZFR5cGUiOiJqc29uIiwieCI6NTMwLCJ5IjozODAsIndpcmVzIjpbWyI4OGQxMTNkYjc5ZDIwNDE3Il1dfSx7ImlkIjoiOWVkMGJkNjRkYWEwY2YzNSIsInR5cGUiOiJkZWJ1ZyIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjk1MCwieSI6MzgwLCJ3aXJlcyI6W119LHsiaWQiOiI4OGQxMTNkYjc5ZDIwNDE3IiwidHlwZSI6InRlbXBsYXRlIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJDb25jYXRlbmF0aW5nIFN0cmluZ3MiLCJmaWVsZCI6InBheWxvYWQiLCJmaWVsZFR5cGUiOiJtc2ciLCJmb3JtYXQiOiJoYW5kbGViYXJzIiwic3ludGF4IjoibXVzdGFjaGUiLCJ0ZW1wbGF0ZSI6IkhlbGxvIHt7cGF5bG9hZC5uYW1lfX0sIHlvdXIgb3JkZXIgI3t7cGF5bG9hZC5vcmRlcklkfX0gaGFzIHNoaXBwZWQgdG8ge3twYXlsb2FkLmNpdHl9fS4iLCJvdXRwdXQiOiJzdHIiLCJ4Ijo3MjAsInkiOjM4MCwid2lyZXMiOltbIjllZDBiZDY0ZGFhMGNmMzUiXV19XQ==",[22,276,278],{"id":277},"parsing-json-strings","Parsing JSON Strings",[18,280,281],{},"API responses and stored data often arrive as JSON strings—text that looks like JSON but isn't yet usable as an object.",[30,283,284,291,294,304,308],{},[33,285,286,287,290],{},"Place a ",[37,288,289],{},"JSON"," node after your data source (like an HTTP request or file read)",[33,292,293],{},"Double-click to open its configuration",[33,295,296,297,300,301],{},"Set the ",[37,298,299],{},"Action"," to ",[37,302,303],{},"\"Convert between JSON String & Object\"",[33,305,197,306],{},[37,307,200],{},[33,309,73],{},[18,311,312,313,316,317,320,321,324],{},"The JSON node detects your data type automatically. String ",[52,314,315],{},"'{\"temperature\":22,\"humidity\":65}'"," becomes an object ",[52,318,319],{},"{temperature: 22, humidity: 65}"," so you can access ",[52,322,323],{},"msg.payload.temperature",".",[86,326],{":height":88,"flow":327},"W3siaWQiOiI5ODdkNmI1Y2U5NmY4NjNlIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJ7XCJ0ZW1wZXJhdHVyZVwiOjIyLFwiaHVtaWRpdHlcIjo2NX0iLCJwYXlsb2FkVHlwZSI6InN0ciIsIngiOjUzMCwieSI6NDQwLCJ3aXJlcyI6W1siYjkyZWIxN2M4ZGFjNDlkOCJdXX0seyJpZCI6ImI5MmViMTdjOGRhYzQ5ZDgiLCJ0eXBlIjoianNvbiIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiUGFyc2luZyBKU09OIFN0cmluZ3MiLCJwcm9wZXJ0eSI6InBheWxvYWQiLCJhY3Rpb24iOiIiLCJwcmV0dHkiOmZhbHNlLCJ4Ijo3MjAsInkiOjQ0MCwid2lyZXMiOltbImEzNDAzMGUyZDlhMDg1ZmUiXV19LHsiaWQiOiJhMzQwMzBlMmQ5YTA4NWZlIiwidHlwZSI6ImRlYnVnIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6OTUwLCJ5Ijo0NDAsIndpcmVzIjpbXX1d",[22,329,331],{"id":330},"extracting-substrings","Extracting Substrings",[18,333,334],{},"Getting specific parts of a string is useful for parsing fixed-format data, extracting codes, or isolating values.",[30,336,337,342,348,352,372],{},[33,338,238,339,341],{},[37,340,39],{}," node after your string source",[33,343,105,344,50,346],{},[37,345,49],{},[52,347,54],{},[33,349,57,350],{},[37,351,64],{},[33,353,67,354,357,358],{},[52,355,356],{},"$substring(payload, start, length)"," where:\n",[158,359,360,366],{},[33,361,362,365],{},[52,363,364],{},"start"," is the position (0 is first character)",[33,367,368,371],{},[52,369,370],{},"length"," is how many characters to take",[33,373,73],{},[18,375,376],{},[37,377,378],{},"Examples:",[158,380,381,394,404],{},[33,382,383,386,387,390,391],{},[52,384,385],{},"$substring(payload, 0, 5)"," on ",[52,388,389],{},"\"Hello World\""," gives ",[52,392,393],{},"\"Hello\"",[33,395,396,386,399,390,401],{},[52,397,398],{},"$substring(payload, 6, 5)",[52,400,389],{},[52,402,403],{},"\"World\"",[33,405,406,409,410,390,412,414],{},[52,407,408],{},"$substring(payload, 6)"," (no length) on ",[52,411,389],{},[52,413,403],{}," (all remaining characters)",[86,416],{":height":88,"flow":417},"W3siaWQiOiIxNTA1YmJjZGRhMWVmNzBmIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJIZWxsbyBXb3JsZCIsInBheWxvYWRUeXBlIjoic3RyIiwieCI6NTEwLCJ5Ijo1MDAsIndpcmVzIjpbWyI3ZTEzYjkwYzliOGU0OGRlIl1dfSx7ImlkIjoiN2I5ODUxNjFmNDhhYWY3NCIsInR5cGUiOiJkZWJ1ZyIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjk1MCwieSI6NTAwLCJ3aXJlcyI6W119LHsiaWQiOiI3ZTEzYjkwYzliOGU0OGRlIiwidHlwZSI6ImNoYW5nZSIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiRXh0cmFjdGluZyBTdWJzdHJpbmdzIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiIkc3Vic3RyaW5nKHBheWxvYWQsIDAsIDUpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo3MjAsInkiOjUwMCwid2lyZXMiOltbIjdiOTg1MTYxZjQ4YWFmNzQiXV19XQ==",[22,419,421],{"id":420},"trimming-whitespace","Trimming Whitespace",[18,423,424],{},"Removing unwanted spaces, tabs, or line breaks from strings prevents comparison errors and formatting issues.",[30,426,427,432,438,442,447],{},[33,428,286,429,431],{},[37,430,39],{}," node before your comparison or processing logic",[33,433,105,434,50,436],{},[37,435,49],{},[52,437,54],{},[33,439,57,440],{},[37,441,64],{},[33,443,67,444],{},[52,445,446],{},"$trim(payload)",[33,448,73],{},[18,450,451,452,455,456,458],{},"Whitespace from both ends is removed. ",[52,453,454],{},"\"  Hello World  \""," becomes ",[52,457,389],{},". The space between words stays—only edge spaces are removed.",[86,460],{":height":88,"flow":461},"W3siaWQiOiJmNDNmZmY0YjdhMzIxODVkIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIgIEhlbGxvIFdvcmxkICAiLCJwYXlsb2FkVHlwZSI6InN0ciIsIngiOjUxMCwieSI6NTYwLCJ3aXJlcyI6W1siOWVkMmY2NmE1OTFjZWZhYiJdXX0seyJpZCI6IjYwM2Q3MDI0ZjA2OTc5YmMiLCJ0eXBlIjoiZGVidWciLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo5NTAsInkiOjU2MCwid2lyZXMiOltdfSx7ImlkIjoiOWVkMmY2NmE1OTFjZWZhYiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiYzE2ZTFmYjg5MzJlN2U3MyIsImciOiIwOWEzM2U2NTFlZmE0N2E4IiwibmFtZSI6IlRyaW1taW5nIFdoaXRlc3BhY2UiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiR0cmltKHBheWxvYWQpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo3MjAsInkiOjU2MCwid2lyZXMiOltbIjYwM2Q3MDI0ZjA2OTc5YmMiXV19XQ==",[22,463,465],{"id":464},"changing-case","Changing Case",[18,467,468],{},"Converting string case helps with standardization and comparison since computers treat uppercase and lowercase as different.",[30,470,471,476,482,486,496],{},[33,472,238,473,475],{},[37,474,39],{}," node before your comparison or output",[33,477,105,478,50,480],{},[37,479,49],{},[52,481,54],{},[33,483,57,484],{},[37,485,64],{},[33,487,488,489,492,493],{},"If you want to convert to uppercase, enter: ",[52,490,491],{},"$uppercase(payload)",". If you want to convert to lowercase, enter: ",[52,494,495],{},"$lowercase(payload)",[33,497,73],{},[18,499,500,501,503,504,455,507,510,511,503,513,455,515,324],{},"Using ",[52,502,491],{},", the string ",[52,505,506],{},"\"hello world\"",[52,508,509],{},"\"HELLO WORLD\"",". Using ",[52,512,495],{},[52,514,389],{},[52,516,506],{},[86,518],{":height":88,"flow":519},"W3siaWQiOiI5YjM5ZmI5ZDBhNzVlNWMyIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJIZWxsbyBXb3JsZCIsInBheWxvYWRUeXBlIjoic3RyIiwieCI6NTEwLCJ5Ijo2MjAsIndpcmVzIjpbWyIwNDM4OWJlZTRiNTIwZWIzIl1dfSx7ImlkIjoiMzM5MGVhYzY4MjY4MjFhNyIsInR5cGUiOiJkZWJ1ZyIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjk1MCwieSI6NjIwLCJ3aXJlcyI6W119LHsiaWQiOiIwNDM4OWJlZTRiNTIwZWIzIiwidHlwZSI6ImNoYW5nZSIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiQ2hhbmdpbmcgQ2FzZSA6IExvd2VyY2FzZSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiJGxvd2VyY2FzZShwYXlsb2FkKSIsInRvdCI6Impzb25hdGEifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6NzQwLCJ5Ijo2MjAsIndpcmVzIjpbWyIzMzkwZWFjNjgyNjgyMWE3Il1dfV0=",[86,521],{":height":88,"flow":522},"W3siaWQiOiIyYmVlNTBlZDgyNzNhN2Q3IiwidHlwZSI6ImRlYnVnIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6OTUwLCJ5Ijo2ODAsIndpcmVzIjpbXX0seyJpZCI6ImIyZDE2YTQ1NmIwODMzMjUiLCJ0eXBlIjoiY2hhbmdlIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJDaGFuZ2luZyBDYXNlIDogVXBwZXJjYXNlIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiIkdXBwZXJjYXNlKHBheWxvYWQpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo3NDAsInkiOjY4MCwid2lyZXMiOltbIjJiZWU1MGVkODI3M2E3ZDciXV19LHsiaWQiOiIyZjIwZjA5YjgxNDZiMzk3IiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJIZWxsbyBXb3JsZCIsInBheWxvYWRUeXBlIjoic3RyIiwieCI6NTEwLCJ5Ijo2ODAsIndpcmVzIjpbWyJiMmQxNmE0NTZiMDgzMzI1Il1dfV0=",[22,524,526],{"id":525},"replacing-text","Replacing Text",[18,528,529],{},"Finding and replacing text within strings lets you correct values, standardize formats, or update content.",[30,531,532,537,543,547,553],{},[33,533,238,534,536],{},[37,535,39],{}," node after your text source",[33,538,105,539,50,541],{},[37,540,49],{},[52,542,54],{},[33,544,57,545],{},[37,546,64],{},[33,548,67,549,552],{},[52,550,551],{},"$replace(payload, \"old\", \"new\")"," where \"old\" is text to find and \"new\" is the replacement",[33,554,73],{},[18,556,557,558,561,562,390,565,324],{},"All occurrences are replaced. ",[52,559,560],{},"\"I love apples and apples are great\""," with ",[52,563,564],{},"$replace(payload, \"apples\", \"oranges\")",[52,566,567],{},"\"I love oranges and oranges are great\"",[86,569],{":height":88,"flow":570},"W3siaWQiOiJkZmJiOWQxY2U0MWM4NjcyIiwidHlwZSI6ImRlYnVnIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6OTUwLCJ5Ijo3NDAsIndpcmVzIjpbXX0seyJpZCI6IjMzZDgxZDZhMGQyZDBmMGMiLCJ0eXBlIjoiY2hhbmdlIiwieiI6ImMxNmUxZmI4OTMyZTdlNzMiLCJnIjoiMDlhMzNlNjUxZWZhNDdhOCIsIm5hbWUiOiJSZXBsYWNpbmcgVGV4dCIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiJHJlcGxhY2UocGF5bG9hZCwgXCJhcHBsZXNcIiwgXCJvcmFuZ2VzXCIpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo3MDAsInkiOjc0MCwid2lyZXMiOltbImRmYmI5ZDFjZTQxYzg2NzIiXV19LHsiaWQiOiJhOGUxYTkzMmQ2MTlmYTMzIiwidHlwZSI6ImluamVjdCIsInoiOiJjMTZlMWZiODkzMmU3ZTczIiwiZyI6IjA5YTMzZTY1MWVmYTQ3YTgiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJJIGxvdmUgYXBwbGVzIGFuZCBhcHBsZXMgYXJlIGdyZWF0IiwicGF5bG9hZFR5cGUiOiJzdHIiLCJ4Ijo1MzAsInkiOjc0MCwid2lyZXMiOltbIjMzZDgxZDZhMGQyZDBmMGMiXV19XQ==",[22,572,574],{"id":573},"checking-string-length","Checking String Length",[18,576,577],{},"Determining string length helps with validation or conditional processing.",[30,579,580,585,593,597,602],{},[33,581,238,582,584],{},[37,583,39],{}," node that will store the length",[33,586,105,587,50,589,592],{},[37,588,49],{},[52,590,591],{},"msg.length"," (or another property)",[33,594,57,595],{},[37,596,64],{},[33,598,67,599],{},[52,600,601],{},"$length(payload)",[33,603,73],{},[18,605,606,607,609,610,613],{},"The string ",[52,608,393],{}," returns ",[52,611,612],{},"5",". Use this value in conditions or validation logic.",[86,615],{":height":88,"flow":616},"W3siaWQiOiIzNzkxYTNmYWM3YmU0ODMzIiwidHlwZSI6ImRlYnVnIiwieiI6ImI0NDZkZmEwNGQ3OWQzNTkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoibGVuZ3RoIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6MTExMCwieSI6MTI2MCwid2lyZXMiOltdfSx7ImlkIjoiZmNhMjIxM2M5MzJiMWZlYSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiYjQ0NmRmYTA0ZDc5ZDM1OSIsIm5hbWUiOiJDaGVja2luZyBTdHJpbmcgTGVuZ3RoIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoibGVuZ3RoIiwicHQiOiJtc2ciLCJ0byI6IiRsZW5ndGgocGF5bG9hZCkiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjkxMCwieSI6MTI2MCwid2lyZXMiOltbIjM3OTFhM2ZhYzdiZTQ4MzMiXV19LHsiaWQiOiI3MDZkODY0MzQ1YTBjNjJjIiwidHlwZSI6ImluamVjdCIsInoiOiJiNDQ2ZGZhMDRkNzlkMzU5IiwibmFtZSI6IiIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiSGVsbG8iLCJwYXlsb2FkVHlwZSI6InN0ciIsIngiOjcxMCwieSI6MTI2MCwid2lyZXMiOltbImZjYTIyMTNjOTMyYjFmZWEiXV19XQ==",[22,618,620],{"id":619},"checking-if-string-contains-text","Checking if String Contains Text",[18,622,623],{},"Testing whether a string contains specific text helps with filtering and conditional logic.",[30,625,626,631,638,642,647],{},[33,627,238,628,630],{},[37,629,39],{}," node to create a test result",[33,632,105,633,50,635,592],{},[37,634,49],{},[52,636,637],{},"msg.contains",[33,639,57,640],{},[37,641,64],{},[33,643,67,644],{},[52,645,646],{},"$contains(payload, \"search term\")",[33,648,73],{},[18,650,651,652,655,656,659,660,561,663,609,666,668],{},"Returns ",[52,653,654],{},"true"," if found, ",[52,657,658],{},"false"," if not. ",[52,661,662],{},"\"The quick brown fox\"",[52,664,665],{},"$contains(payload, \"quick\")",[52,667,654],{},". Use in Switch nodes to route messages differently based on content.",[86,670],{":height":88,"flow":671},"W3siaWQiOiJlYjVmZThmZTZlMDBlNjAzIiwidHlwZSI6ImRlYnVnIiwieiI6ImI0NDZkZmEwNGQ3OWQzNTkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjcxMCwieSI6MTc0MCwid2lyZXMiOltdfSx7ImlkIjoiZGFiYTM1NWYzY2E5NjkzZiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiYjQ0NmRmYTA0ZDc5ZDM1OSIsIm5hbWUiOiJDaGVja2luZyBpZiBTdHJpbmcgQ29udGFpbnMgVGV4dCIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6ImNvbnRhaW5zIiwicHQiOiJtc2ciLCJ0byI6IiRjb250YWlucyhwYXlsb2FkLCBcInF1aWNrXCIpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo1MTAsInkiOjE3NDAsIndpcmVzIjpbWyJlYjVmZThmZTZlMDBlNjAzIl1dfSx7ImlkIjoiY2EyYWIwODVmOGVkZWM4YyIsInR5cGUiOiJpbmplY3QiLCJ6IjoiYjQ0NmRmYTA0ZDc5ZDM1OSIsIm5hbWUiOiIiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwicGF5bG9hZCI6IlRoZSBxdWljayBicm93biBmb3giLCJwYXlsb2FkVHlwZSI6InN0ciIsIngiOjI3MCwieSI6MTc0MCwid2lyZXMiOltbImRhYmEzNTVmM2NhOTY5M2YiXV19XQ==",[22,673,675],{"id":674},"complex-string-operations","Complex String Operations",[18,677,678],{},"For complex string operations that combine multiple steps or require custom logic, you can use a Function node with JavaScript.",[18,680,681,682,687],{},"If you're not familiar with JavaScript, but you're using FlowFuse, you can use the ",[683,684,686],"a",{"href":685},"\u002Fblog\u002F2025\u002F07\u002Fflowfuse-ai-assistant-better-node-red-manufacturing\u002F","FlowFuse Expert's"," function node generator. Simply describe what you want to accomplish, and the assistant will generate the function node code for you.",{"title":12,"searchDepth":689,"depth":689,"links":690},2,[691,692,693,694,695,696,697,698,699,700,701,702],{"id":24,"depth":689,"text":25},{"id":92,"depth":689,"text":93},{"id":135,"depth":689,"text":136},{"id":229,"depth":689,"text":230},{"id":277,"depth":689,"text":278},{"id":330,"depth":689,"text":331},{"id":420,"depth":689,"text":421},{"id":464,"depth":689,"text":465},{"id":525,"depth":689,"text":526},{"id":573,"depth":689,"text":574},{"id":619,"depth":689,"text":620},{"id":674,"depth":689,"text":675},"Learn essential string operations in Node-RED including converting between strings and numbers, splitting and concatenating text, parsing JSON, extracting substrings, trimming whitespace, and more. Step-by-step guide with practical examples.","md",{},true,"\u002Fnode-red\u002Fgetting-started\u002Fstring",{"title":5,"description":703},"node-red\u002Fgetting-started\u002Fstring","7dndjs-rv5yLm6s_P1adnOL94r2q1WQhf5-mNCPAX2k",1780070557344]