{"ScriptPreparationCode":"var IDS = [\u0022report_1\u0022, \u0022report_1\u0022, \u0022report_1\u0022, \u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022, \u0022report_dsdsdssds_1\u0022, \u0022report_dsdsdsds_1\u0022, \u0022report_1\u0022, \u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022,\u0022report_1\u0022, \u0022report_random_bla_foo_12321312\u0022, \u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022,\u0022report_random_bla_foo_12321312\u0022];","TestCases":[{"Name":"regex current","Code":"function getCollectionKey(key) {\r\n if (!key) {\r\n return \u0027\u0027;\r\n }\r\n return key.replace(/_\\w\u002B/g, \u0027_\u0027);\r\n}\r\n\r\nIDS.forEach((id) =\u003E getCollectionKey(id));","IsDeferred":false},{"Name":"subString","Code":"function getCollectionKey(key) {\r\n if (!key) {\r\n return \u0027\u0027;\r\n }\r\n const lastUnderscoreIndex = key.lastIndexOf(\u0027_\u0027);\r\n if (lastUnderscoreIndex === -1) {\r\n return key;\r\n }\r\n return key.substring(0, lastUnderscoreIndex);\r\n}\r\nIDS.forEach((id) =\u003E getCollectionKey(id));","IsDeferred":false},{"Name":"split","Code":"function getCollectionKey(key) {\r\n if (!key) {\r\n return \u0027\u0027;\r\n }\r\n const segments = key.split(\u0027_\u0027);\r\n if (segments.length \u003E 1) {\r\n // Remove the last segment if it\u0027s a number or string (implies _foo_123 or _bar_)\r\n segments.pop();\r\n }\r\n // Join the remaining segments back together with underscores\r\n return segments.join(\u0027_\u0027) \u002B (key.endsWith(\u0027_\u0027) ? \u0027_\u0027 : \u0027\u0027);\r\n}\r\nIDS.forEach((id) =\u003E getCollectionKey(id));","IsDeferred":false},{"Name":"regex complex","Code":"function getCollectionKey(key) {\r\n if (!key) {\r\n return \u0027\u0027;\r\n }\r\n return key.replace(/_[^_]*$/, \u0027_\u0027);\r\n}\r\nIDS.forEach((id) =\u003E getCollectionKey(id));","IsDeferred":false}]}