【问题标题】:Golang regex replace does nothingGolang 正则表达式替换什么都不做
【发布时间】:2012-11-20 07:24:24
【问题描述】:

我想用破折号替换任何非字母数字字符序列。我写的东西的sn-p如下。但是它不起作用,我完全不知道为什么。谁能解释一下为什么 sn-p 的行为不像我期望的那样,以及实现这一点的正确方法是什么?

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
}

【问题讨论】:

标签: regex go


【解决方案1】:

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

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
}

(也叫here

输出

a-fe5v9034-j-ae6

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2017-12-29
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多