我想用破折号代替任何非字母数字字符序列。我写的片段在下面。然而,它不工作,我完全无知为什么。任何人都可以解释为什么片段的行为不像我期望的那样,这样做是正确的方法呢?
package main import ( "fmt" "regexp" "strings" ) func main() { reg,_ := regexp.Compile("/[^A-Za-z0-9]+/") safe := reg.ReplaceAllString("a*-+fe5v9034,j*.AE6","-") safe = strings.ToLower(strings.Trim(safe,"-")) fmt.Println(safe) // Output: a*-+fe5v9034,j*.ae6 }
正斜杠与您的字符串不匹配。
package main import ( "fmt" "log" "regexp" "strings" ) func main() { reg,err := regexp.Compile("[^A-Za-z0-9]+") if err != nil { log.Fatal(err) } safe := reg.ReplaceAllString("a*-+fe5v9034,"-") safe = strings.ToLower(strings.Trim(safe,"-")) fmt.Println(safe) // Output: a*-+fe5v9034,j*.ae6 }
(又here)
产量
a-fe5v9034-j-ae6