我使用
问题在于似乎
io/ioutil
包来读取文件:package main
import (
"fmt"
"github.com/codegangsta/cli"
"io/ioutil"
"os"
"regexp"
)
func main() {
app := cli.NewApp()
app.Name = "m2k"
app.Usage = "convert markdown to kindle"
app.Action = func(c *cli.Context) {
file := "no file"
if len(c.Args().First()) > 0 {
file = c.Args().First()
fmt.Println("worked:", file)
b, err := ioutil.ReadFile(file)
if err != nil {
panic(err)
}
r, _ := regexp.Compile(b)
fmt.Println(r.ReplaceAllString("oldtext", "newtext"))
}
}
app.Run(os.Args)
}
// $ go run io2.go input.txt
// input.txt
// text text oldtext oldtext
我希望你能将正则表达式应用于文件的内容:
r, _ := regexp.Compile(b)
mt.Println(r.ReplaceAllString("oldtext", "newtext"))
问题在于似乎
regexp.Compile
无法处理byte
类型:
./io2.go:29: 无法将b(类型[]byte)作为函数参数中的字符串类型使用
我该如何解决这个问题?