如何在golang中将全角字符转换为ascii字符.我的程序中的输入是全宽数字,我需要对它们运行一些计算,所以我假设我必须编写如下的转换函数,在开始映射字节之前,我想知道这是否确实在标准中可用去图书馆
fullWidth:="???"
expected := "123"
func convert(input string) string {
// body
}
expected == convert(fullWidth)
Run Code Online (Sandbox Code Playgroud)
您可以使用width.Transformer的的golang.org/x/text包装做了改造,但标准库不具有此功能.x/text是许多官方子库之一,其兼容性要求较弱(见此处).
例:
package main
import (
"fmt"
"golang.org/x/text/width"
)
func main() {
s := "???"
n := width.Narrow.String(s)
fmt.Printf("%U: %s\n", []rune(s), s)
fmt.Printf("%U: %s\n", []rune(n), n)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |