utils.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package utils
  2. import (
  3. "fmt"
  4. "os"
  5. "regexp"
  6. "strings"
  7. )
  8. // 切分;分号前后,分为俩个字符串
  9. func SplitSemicolon(sql string) (string, string) {
  10. // 找到第一个分号的位置
  11. semicolonIndex := strings.Index(sql, ";")
  12. if semicolonIndex != -1 {
  13. // 切分分号前的语句
  14. front := sql[:semicolonIndex+1]
  15. rear := sql[semicolonIndex+1:]
  16. return front, rear
  17. } else {
  18. fmt.Println("未找到分号。")
  19. return "", ""
  20. }
  21. }
  22. // 检查字符串中是否包含指定的关键字
  23. func ContainsKeyword(input string, keyword string) bool {
  24. return strings.Contains(input, keyword)
  25. }
  26. // 是否插入为大对象(需要更改位置)
  27. func IsInsertBlob(input string) int {
  28. re := regexp.MustCompile(`values\(([^)]*)\)`)
  29. match := re.FindStringSubmatch(input)
  30. if len(match) > 1 {
  31. return strings.Count(match[1], "?")
  32. }
  33. return 0
  34. }
  35. // 检测文件夹是否存在
  36. func CheckFolder(folderPath string) bool {
  37. _, err := os.Stat(folderPath)
  38. return !os.IsNotExist(err)
  39. }
  40. // 创建文件夹
  41. func CreateFolder(folderPath string) error {
  42. err := os.MkdirAll(folderPath, os.ModePerm)
  43. if err != nil {
  44. return err
  45. }
  46. return nil
  47. }