首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
iamzcr
›
全部回复第 2 页 / 共 2 页
回复总数
23
1
2
❮
❯
2021-05-25 20:16:34 +08:00
回复了
toyst
创建的主题
›
Linux
›
请教一下大家这个脚本怎么写
@
iamzcr
还要判断下文件类型,忘了
2021-05-25 20:08:55 +08:00
回复了
toyst
创建的主题
›
Linux
›
请教一下大家这个脚本怎么写
看到这问题,用 go 的 slice+map 写了下,不知道效率咋样,原理就是按照 ASCII 编码去取 0-9ASCII 编码的范围
package main
import (
"bufio"
"fmt"
"io"
"os"
"strings"
)
func delSlice(slice []byte, dels []byte) []byte {
dMap := make(map[byte]bool)
for _, s := range dels {
dMap[s] = true
}
for i := 0; i < len(slice); i++ {
if _, ok := dMap[slice[i]]; ok {
slice = append(slice[:i], slice[i+1:]...)
i = i - 1
}
}
return slice
}
func ReadLine(fileName string) {
f, err := os.Open(fileName)
if err != nil {
panic(err)
}
buf := bufio.NewReader(f)
for {
line, err := buf.ReadString('\n')
if err != nil {
if err == io.EOF {
break
}
}
line = strings.TrimSpace(line)
slice := make([]byte, 1)
slice = []byte(line)
outSlice := make([]byte, 1)
for i := 0; i < len(slice)-1; i++ {
if slice[i] > 47 && slice[i] <= 58 {
outSlice = append(outSlice, slice[i])
}
}
inSlice := delSlice(slice, outSlice)
str := string(inSlice)
fmt.Println(str)
}
}
func main() {
ReadLine("./test.txt")
}
2021-05-20 16:36:46 +08:00
回复了
huzhikuizainali
创建的主题
›
新手求助
›
不懂就问。类和函数有什么区别?
只有函数:表示你只有一个女朋友
有类:表示你会有无尽的女朋友,这个女朋友名字还不一样,叫方法
1
2
❮
❯
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
912 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms ·
UTC 19:39
·
PVG 03:39
·
LAX 12:39
·
JFK 15:39
Developed with
CodeLauncher
♥ Do have faith in what you're doing.