String 如何删除不可打印字符
我正在尝试从Golang中的字符串中删除不可打印的字符 输出:String 如何删除不可打印字符,string,go,unicode,utf-8,String,Go,Unicode,Utf 8,我正在尝试从Golang中的字符串中删除不可打印的字符 输出: Douglas 10 Douglas 7 第一个字符串的末尾有一个不可见的字符 我曾尝试替换非ASCII字符,但它也删除了重音 如何仅删除不可打印的字符?前言:我在库中发布了此实用程序,请参阅 你可以移除那些报告错误的符文。要从字符串中删除某些符文,可以使用 例如: invisibleChars := "Douglas" fmt.Printf("%q\n", invisibleChars) fmt.Println(len(in
Douglas
10
Douglas
7
第一个字符串的末尾有一个不可见的字符
我曾尝试替换非ASCII字符,但它也删除了重音
如何仅删除不可打印的字符?前言:我在库中发布了此实用程序,请参阅
你可以移除那些报告错误的符文。要从字符串中删除某些符文,可以使用
例如:
invisibleChars := "Douglas"
fmt.Printf("%q\n", invisibleChars)
fmt.Println(len(invisibleChars))
clean := strings.Map(func(r rune) rune {
if unicode.IsGraphic(r) {
return r
}
return -1
}, invisibleChars)
fmt.Printf("%q\n", clean)
fmt.Println(len(clean))
clean = strings.Map(func(r rune) rune {
if unicode.IsPrint(r) {
return r
}
return -1
}, invisibleChars)
fmt.Printf("%q\n", clean)
fmt.Println(len(clean))
这将在以下位置进行尝试:
invisibleChars=strings.TrimFuncinvisibleChars,funcr符文布尔{
return!unicode.IsGraphicr
}
去操场:请参阅此。icza的回答很好。
invisibleChars := "Douglas"
fmt.Printf("%q\n", invisibleChars)
fmt.Println(len(invisibleChars))
clean := strings.Map(func(r rune) rune {
if unicode.IsGraphic(r) {
return r
}
return -1
}, invisibleChars)
fmt.Printf("%q\n", clean)
fmt.Println(len(clean))
clean = strings.Map(func(r rune) rune {
if unicode.IsPrint(r) {
return r
}
return -1
}, invisibleChars)
fmt.Printf("%q\n", clean)
fmt.Println(len(clean))
"Douglas\u200b"
10
"Douglas"
7
"Douglas"
7