rag*_*hzz 3 regex string replace substring go
使用Go,除了最后4个字符外,如何用"X"替换字符串中的所有字符?
这适用于php/javascript但不适用于golang,因为不支持"?=".
\w(?=\w{4,}$)
Run Code Online (Sandbox Code Playgroud)
试过这个,但不起作用.我找不到任何类似golang的东西
(\w)(?:\w{4,}$)
Run Code Online (Sandbox Code Playgroud)
处理多个UTF-8字节字符的简单而有效的解决方案是转换string
为[]rune
,覆盖符号'X'
(除了最后4个),然后转换回string
.
func maskLeft(s string) string {
rs := []rune(s)
for i := 0; i < len(rs)-4; i++ {
rs[i] = 'X'
}
return string(rs)
}
Run Code Online (Sandbox Code Playgroud)
测试它:
fmt.Println(maskLeft("123"))
fmt.Println(maskLeft("123456"))
fmt.Println(maskLeft("1234??"))
fmt.Println(maskLeft("??3456"))
Run Code Online (Sandbox Code Playgroud)
输出(在Go Playground上试试):
123
XX3456
XX34??
XX3456
Run Code Online (Sandbox Code Playgroud)
另请参阅相关问题:如何在golang中替换字符串中的所有字符
归档时间: |
|
查看次数: |
1477 次 |
最近记录: |