golang判定字符串是否存在特殊字符,并在特殊字符前添加转义符

golang判定字符串是否存在特殊字符,并在特殊字符前添加转义符,第1张

特殊字符,如:~!@#$%^&*()_+}{":?><"⌘等

 

import (
	"unicode"
    "testing"
)
// 如果存在特殊字符,直接在特殊字符前添加\
/**
判断是否为字母: unicode.IsLetter(v)
判断是否为十进制数字: unicode.IsDigit(v)
判断是否为数字: unicode.IsNumber(v)
判断是否为空白符号: unicode.IsSpace(v)
判断是否为Unicode标点字符 :unicode.IsPunct(v)
判断是否为中文:unicode.Han(v)
*/
func SpecialLetters(letter rune) (bool, []rune) {
	if unicode.IsPunct(letter) || unicode.IsSymbol(letter) || unicode.Is(unicode.Han, letter) {
		var chars []rune
		chars = append(chars, '\\', letter)
		return true, chars
	}
	return false, nil
}


func TestSpecailLetter(t *testing.T)  {
	str = `1234~!@#$%^&*()_+}{":?><"⌘开`
	var chars []rune
	for _, letter := range str {
		ok, letters := SpecialLetters(letter)
		if ok {
			chars = append(chars, letters...)
		}else {
			chars = append(chars, letter)
		}
	}
	fmt.Println(string(chars))
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存