Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.99 KB | None | 0 0
  1. import re
  2.  
  3.  
  4. def increment_string(strng):
  5.     regex = re.compile(r'(\d+)').findall(strng)
  6.  
  7.     if not regex and not strng:
  8.         return "1"
  9.  
  10.     if not regex and strng:
  11.             new_number = "1"
  12.     else:
  13.         new_number = format(int(regex[0]) + 1, "0" + str(len(regex[0])) + "d")
  14.  
  15.     regex = re.compile(r'[A-Za-z]+').findall(strng)
  16.  
  17.     if regex:
  18.         strng = regex[0] + new_number
  19.     else:
  20.         strng = new_number
  21.  
  22.     return strng
  23.  
  24.  
  25. def test():
  26.     assert increment_string("foo") == "foo1"
  27.     assert increment_string("foobar001") == "foobar002"
  28.     assert increment_string("foobar1") == "foobar2"
  29.     assert increment_string("foobar00") == "foobar01"
  30.     assert increment_string("foobar99") == "foobar100"
  31.     assert increment_string("foobar099") == "foobar100"
  32.     assert increment_string("") == "1"
  33.     assert increment_string("1") == "2"
  34.     assert increment_string("009") == "010"
  35.  
  36.  
  37. def main():
  38.     test()
  39.  
  40.  
  41. if __name__ == '__main__':
  42.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement