为了账号安全,请及时绑定邮箱和手机立即绑定

Golang正则表达式替换什么都不做

Golang正则表达式替换什么都不做

Go
jeck猫 2021-05-21 18:14:25
我想用破折号替换所有非字母数字字符序列。下面是我写的一小段内容。但是它不起作用,我完全不知道为什么。谁能解释一下为什么代码片段的行为不如我预期的那样,实现此目的的正确方法是什么?package mainimport (    "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}
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

您的字符串不匹配正斜杠。


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,j*.AE6", "-")

        safe = strings.ToLower(strings.Trim(safe, "-"))

        fmt.Println(safe)   // Output: a*-+fe5v9034,j*.ae6

}


输出


a-fe5v9034-j-ae6


查看完整回答
反对 回复 2021-05-24
  • 1 回答
  • 0 关注
  • 278 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信