Advertisement
ilyakanyshev

Untitled

Oct 26th, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. from copy import copy
  2. from time import time
  3. def commandSplit(text):
  4. results = [[""],[""]]
  5. count = 1
  6. for char in text:
  7. if count == 2:
  8. if char == ']':
  9. count -= 1
  10. results[0][-1] += "]"
  11. results[0].append("")
  12. else:
  13. results[0][-1] += char
  14. if char == " ":
  15. results[1].append("")
  16. else:
  17. results[1][-1] += char
  18. else:
  19. if char == "[":
  20. count += 1
  21. tmp = copy(results[0])
  22. tmp[-1] += char
  23. results[1] = tmp
  24. if results[0][-1] != "":
  25. results[0].append(char)
  26. else:
  27. results[0][-1] += char
  28. elif char == " ":
  29. results[0].append("")
  30. else:
  31. results[0][-1] += char
  32. results.append("")
  33. return results[count-1]
  34.  
  35.  
  36. tests = [
  37. "Hello, [id1|Pavel Durov]",
  38. "Hello, [id1|Pavel Durov",
  39. "Hello, [id1 Pavel Durov]",
  40. "Hello, id1|Pavel Durov]",
  41. "Hello, [id1|Pavel Durov[]]",
  42. "[id1|Pavel Durov], hello!",
  43. "[id1|Pavel Durov], hello, [id1|Pavel Durov]!",
  44. 4000*"["
  45. ]
  46.  
  47.  
  48. for number, test in enumerate(tests):
  49. start_time = time()
  50. print("Test#{number}".format(number=number))
  51. print(" Text:\t ", test)
  52. print(" Result:", commandSplit(test))
  53. print(" Time:\t ", time()-start_time, "\n\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement