删除文档中的 U+200B 零宽度空格字符(Typora显示红点)
Posted 赤龙绕月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除文档中的 U+200B 零宽度空格字符(Typora显示红点)相关的知识,希望对你有一定的参考价值。
从网页copy到Typora的内容可能会显示红点,很烦,查看后是U+200B 零宽度空格字符,一个一个删除很麻烦,正好学习下go语言,于是写个程序去除md文件中的U+200B 零宽度空格字符.
打包好的exe在文章结尾。
使用:
放入存放md文件目录下,程序遍历目录以及子目录中md文件,删除md文件中零宽度空格字符
package main
import (
"fmt"
"os"
"path/filepath"
"strings"
"io/ioutil"
)
func main()
filepath.Walk(".", walkfunc)
func rmu200b(s string) string
str := make([]rune, 0, len(s))
for _, v := range []rune(s)
if v == 8203
continue
str = append(str, v)
return string(str)
func walkfunc(path string, info os.FileInfo, err error) error
//fmt.Println(path)
ok := strings.HasSuffix(path, ".md")
if ok
//fmt.Println(path)
data, err := ioutil.ReadFile(path)
if err == nil
//fmt.Println(data)
var filedata = string(data)
//run := []rune(filedata)
//fmt.Println(filedata)
//fmt.Println(run)
//fmt.Printf("%U\\n", run)
//fmt.Println(data)
var filedatanew = rmu200b(filedata)
if len(filedata) != len(filedatanew)
fmt.Println(path)
ioutil.WriteFile(path+"bak",[]byte(filedata),0777)
ioutil.WriteFile(path,[]byte(filedatanew),0777)
return nil
以上是关于删除文档中的 U+200B 零宽度空格字符(Typora显示红点)的主要内容,如果未能解决你的问题,请参考以下文章
从 Python 字符串中删除零宽度空格 unicode 字符
u200b(零宽度空间)字符在我的 JS 代码中。哪儿来的呢?