Unicode 是否将普通空格/空白转换为不间断空格?
这是一个简单的问题,但我还是不知道怎么做 假设我有这个字符串:Unicode 是否将普通空格/空白转换为不间断空格?,unicode,encoding,character-encoding,go,unicode-string,Unicode,Encoding,Character Encoding,Go,Unicode String,这是一个简单的问题,但我还是不知道怎么做 假设我有这个字符串: x := "this string" “this”和“string”之间的空白默认为常规unicode空白字符32/U+0020。如何将其转换为Go中不间断的unicode空白字符U+00A0?我认为一种基本方法是创建一个简单的函数: 如果你需要更高级的操作,你可以用 "golang.org/x/text/transform" "golang.org/x/text/unicode/norm" 有关如何使用它的更多信息,请阅读使
x := "this string"
“this”和“string”之间的空白默认为常规unicode空白字符
32/U+0020
。如何将其转换为Go中不间断的unicode空白字符U+00A0
?我认为一种基本方法是创建一个简单的函数:
如果你需要更高级的操作,你可以用
"golang.org/x/text/transform"
"golang.org/x/text/unicode/norm"
有关如何使用它的更多信息,请阅读使用文档将标准
字符串
包确定为可能的候选者,然后搜索它(或者通读所有内容,您应该知道您使用的任何语言的标准库/包中都有哪些内容)以查找
那么,转换任何空白的明显简单解决方案是:
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
const nbsp = '\u00A0'
result := strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
return nbsp
}
return r
}, "this string")
fmt.Printf("%s → %[1]q\n", result)
}
如前所述,如果您真的只想替换
”
,那么可能是字符串。更简单地说,替换:。不知道特殊字符串([]符文)编码/转换!这很好。或者对于任何空白字符串。Map
就是您在这里实现的。突然的否决票?我不同意;我认为这是一个有用的问题,特别是因为我花了几个小时在谷歌上试图找到答案,但没有成功。
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
const nbsp = '\u00A0'
result := strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
return nbsp
}
return r
}, "this string")
fmt.Printf("%s → %[1]q\n", result)
}