golang使用解析标准库从电子邮件获取域

jj1*_*111 1 parsing go

我在拔出电子邮件域时遇到了麻烦。我试过使用

u, _ := url.Parse(email) 
Run Code Online (Sandbox Code Playgroud)

和标准库中的其他解析,但似乎没有解析的内容:user@gmail.com分成单独的部分。

我也尝试过net.SplitHostPort,但是没有运气。

我不想创建一个函数,该函数在可能的情况下获取len并分开以在@符号后获取子字符串。

有人有任何想法可以做到这一点吗?

谢谢!

Moh*_*uur 5

这是我从golang文档中炮制的一个示例:

package main

import (
    "fmt"
    "strings"
)

func main() {
    email := "foo@bar.com"
    components := strings.Split(email, "@")
    username, domain := components[0], components[1]

    fmt.Printf("Username: %s, Domain: %s\n", username, domain)
}
Run Code Online (Sandbox Code Playgroud)

  • 我非常怀疑您在现实生活中会遇到这种情况,但正如所写,这个答案是不正确的。有效电子邮件地址的规范允许在一个电子邮件地址中使用多个“@”符号。您想使用最后一个而不是第一个作为域部分。/sf/answers/864911771/ (3认同)