str_utils.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/7/21 14:45
  3. # @Author : XuJiakai
  4. # @File : str_utils
  5. # @Software: PyCharm
  6. import json
  7. import re
  8. def json_str_2_list(json_str: str, key: str):
  9. if json_str is None:
  10. return []
  11. try:
  12. j = json.loads(json_str)
  13. result = []
  14. for i in j:
  15. result.append(i[key])
  16. pass
  17. return result
  18. pass
  19. except Exception:
  20. return []
  21. pass
  22. pass
  23. def pascal_case_to_snake_case(camel_case: str):
  24. """
  25. 驼峰转下划线
  26. :param camel_case:
  27. :return:
  28. """
  29. snake_case = re.sub(r"(?P<key>[A-Z])", r"_\g<key>", camel_case)
  30. return snake_case.lower().strip('_')
  31. pass
  32. def snake_case_to_pascal_case(snake_case: str):
  33. """
  34. 下划线转驼峰
  35. :param snake_case:
  36. :return:
  37. """
  38. words = snake_case.split('_')
  39. return ''.join(word.title() for word in words)
  40. pass
  41. if __name__ == '__main__':
  42. res = pascal_case_to_snake_case("CompanyCourtOpenAnnouncement")
  43. print(pascal_case_to_snake_case("CompanyCourtOpenAnnouncement"))
  44. print(snake_case_to_pascal_case(res))
  45. pass