diff --git a/tests/scripts/generate_test_code.py b/tests/scripts/generate_test_code.py
index b01bd35..ece35df 100755
--- a/tests/scripts/generate_test_code.py
+++ b/tests/scripts/generate_test_code.py
@@ -632,18 +632,10 @@
     """
     if len(split_char) > 1:
         raise ValueError('Expected split character. Found string!')
-    out = []
-    part = ''
-    escape = False
-    for character in inp_str:
-        if not escape and character == split_char:
-            out.append(part)
-            part = ''
-        else:
-            part += character
-            escape = not escape and character == '\\'
-    if part:
-        out.append(part)
+    out = re.sub(r'(\\.)|' + split_char,
+                 lambda m: m.group(1) or '\n', inp_str,
+                 len(inp_str)).split('\n')
+    out = filter(lambda x: x or False, out)
     return out
 
 
diff --git a/tests/scripts/mbedtls_test.py b/tests/scripts/mbedtls_test.py
index a973070..5570310 100755
--- a/tests/scripts/mbedtls_test.py
+++ b/tests/scripts/mbedtls_test.py
@@ -77,18 +77,10 @@
         """
         if len(split_char) > 1:
             raise ValueError('Expected split character. Found string!')
-        out = []
-        part = ''
-        escape = False
-        for character in inp_str:
-            if not escape and character == split_char:
-                out.append(part)
-                part = ''
-            else:
-                part += character
-                escape = not escape and character == '\\'
-        if part:
-            out.append(part)
+        out = re.sub(r'(\\.)|' + split_char,
+                     lambda m: m.group(1) or '\n', inp_str,
+                     len(inp_str)).split('\n')
+        out = filter(lambda x: x or False, out)
         return out
 
     def __parse(self, data_f):
