From 1d7ded562cdea9ce5aa3a16055a6e1f8ff6f5691 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 16 Sep 2019 17:15:39 +0800 Subject: [PATCH] add quote support for table named with '.'; improve case conversion for strings named with '.' for gstr --- .example/other/test.go | 6 +++--- database/gdb/gdb_base.go | 2 +- text/gstr/gstr_case.go | 4 ++-- text/gstr/gstr_z_unit_case_test.go | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.example/other/test.go b/.example/other/test.go index e97fe699e..788987ae4 100644 --- a/.example/other/test.go +++ b/.example/other/test.go @@ -2,10 +2,10 @@ package main import ( "fmt" - "github.com/gogf/gf/text/gregex" + + "github.com/gogf/gf/text/gstr" ) func main() { - file := "xxx/github.com/hg-hh/ww/gf/.example/" - fmt.Println(gregex.IsMatchString(`/github.com/[^/]+/gf/\.example/`, file)) + fmt.Println(gstr.CamelCase("userLoginLog.bak")) } diff --git a/database/gdb/gdb_base.go b/database/gdb/gdb_base.go index 30f32c6c4..94cb80221 100644 --- a/database/gdb/gdb_base.go +++ b/database/gdb/gdb_base.go @@ -31,7 +31,7 @@ const ( ) var ( - wordReg = regexp.MustCompile(`^[a-zA-Z0-9\-_]+$`) + wordReg = regexp.MustCompile(`^[a-zA-Z0-9\-_\.]+$`) lastOperatorReg = regexp.MustCompile(`[<>=]+\s*$`) ) diff --git a/text/gstr/gstr_case.go b/text/gstr/gstr_case.go index 722aa7fc2..b5b3b560e 100644 --- a/text/gstr/gstr_case.go +++ b/text/gstr/gstr_case.go @@ -90,7 +90,7 @@ func DelimitedScreamingCase(s string, del uint8, screaming bool) string { } else if v >= 'a' && v <= 'z' { n += string(v) + string(del) } - } else if v == ' ' || v == '_' || v == '-' { + } else if v == ' ' || v == '_' || v == '-' || v == '.' { // replace spaces/underscores with delimiters n += string(del) } else { @@ -132,7 +132,7 @@ func toCamelInitCase(s string, initCase bool) string { n += string(v) } } - if v == '_' || v == ' ' || v == '-' { + if v == '_' || v == ' ' || v == '-' || v == '.' { capNext = true } else { capNext = false diff --git a/text/gstr/gstr_z_unit_case_test.go b/text/gstr/gstr_z_unit_case_test.go index b401e9c66..4c9298658 100644 --- a/text/gstr/gstr_z_unit_case_test.go +++ b/text/gstr/gstr_z_unit_case_test.go @@ -20,6 +20,7 @@ func Test_CamelCase(t *testing.T) { {"test", "Test"}, {"TestCase", "TestCase"}, {" test case ", "TestCase"}, + {"userLogin_log.bak", "UserLoginLogBak"}, {"", ""}, {"many_many_words", "ManyManyWords"}, {"AnyKind of_string", "AnyKindOfString"},