{"ScriptPreparationCode":"function replace(_input, _find, _replace) {\r\n var start = -1;\r\n var cursor = 0;\r\n var inputLength = _input.length;\r\n var findLength = _find.length;\r\n var newString = \u0027\u0027;\r\n var buildString = \u0027\u0027;\r\n if (_find.length === 1 \u0026\u0026 _replace.length === 1) {\r\n _input = _input.split(\u0027\u0027);\r\n while(_input[_input.indexOf(_find)] \u003E= 0) {\r\n _input[_input.indexOf(_find)] = _replace;\r\n }\r\n newString = _input.join(\u0027\u0027);\r\n } else {\r\n for (var i = 0; i \u003C inputLength; i\u002B\u002B) {\r\n if (_input[i] === _find[cursor]) {\r\n if (start === -1) {\r\n start = i;\r\n }\r\n if (findLength - 1 === i - start) {\r\n newString \u002B= _replace;\r\n buildString = \u0027\u0027;\r\n cursor = 0;\r\n start = -1;\r\n } else {\r\n buildString \u002B= _find[cursor];\r\n cursor\u002B\u002B;\r\n }\r\n } else {\r\n newString \u002B= buildString \u002B _input[i];\r\n buildString = \u0027\u0027;\r\n cursor = 0;\r\n start = -1;\r\n }\r\n }\r\n }\r\n return newString;\r\n}\r\nfunction replace2(_input, _find, _replace) {\r\n var start = -1;\r\n var cursor = 0;\r\n var inputLength = _input.length;\r\n var findLength = _find.length;\r\n var newString = \u0027\u0027;\r\n var buildString = \u0027\u0027;\r\n if (_find.length === 1 \u0026\u0026 _replace.length === 1) {\r\n newString = _input.split(_find).join(_replace);\r\n } else {\r\n for (var i = 0; i \u003C inputLength; i\u002B\u002B) {\r\n if (_input[i] === _find[cursor]) {\r\n if (start === -1) {\r\n start = i;\r\n }\r\n if (findLength - 1 === i - start) {\r\n newString \u002B= _replace;\r\n buildString = \u0027\u0027;\r\n cursor = 0;\r\n start = -1;\r\n } else {\r\n buildString \u002B= _find[cursor];\r\n cursor\u002B\u002B;\r\n }\r\n } else {\r\n newString \u002B= buildString \u002B _input[i];\r\n buildString = \u0027\u0027;\r\n cursor = 0;\r\n start = -1;\r\n }\r\n }\r\n }\r\n return newString;\r\n}","TestCases":[{"Name":"Replace #1","Code":"replace(\u0027helle\u0027, \u0027el\u0027, \u0027a\u0027);","IsDeferred":false},{"Name":"Replace #2","Code":"replace2(\u0027helle\u0027, \u0027el\u0027, \u0027a\u0027);","IsDeferred":false},{"Name":"Replace #3","Code":"\u0027helle\u0027.replace(\u0027el\u0027, \u0027a\u0027);","IsDeferred":false},{"Name":"Replace #4","Code":"\u0027helle\u0027.replace(/el/g, \u0027a\u0027);","IsDeferred":false},{"Name":"Replace #5","Code":"\u0027helle\u0027.split(\u0027el\u0027).join(\u0027a\u0027);","IsDeferred":false}]}