Closed
Description
What version of Go are you using (go version
)?
$ go version go1.13.2
Does this issue reproduce with the latest release?
Not Sure
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env
What did you do?
Usually we use strings.TrimLeft to trim some fixed prefix, however when exec strings.TrimLeft("./csv/visitor.csv", "./csv/"), the EXPECTED result is "vistor.csv", the REAL result is "istor.csv".
It's amazing.
https://play.golang.com/p/EeY2DKiWeRR
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println("----------a-----------")
a := "./csv/visitor.csv"
fmt.Println(a)
fff := strings.TrimLeft(a, "./csv/")
fmt.Println(fff)
fmt.Println("----------b-----------")
b := "./csv/visitor.csv"
fmt.Println(b)
fff = strings.TrimLeft(b, "./csv")
fmt.Println(fff)
fmt.Println("----------c-----------")
c := "./csv/visitor.csv"
fmt.Println(c)
fff = strings.TrimLeft(b, "./")
fmt.Println(fff)
}
What did you expect to see?
----------a-----------
./csv/visitor.csv
visitor.csv
----------b-----------
./csv/visitor.csv
visitor.csv
----------c-----------
./csv/visitor.csv
csv/visitor.csv
What did you see instead?
----------a-----------
./csv/visitor.csv
isitor.csv
----------b-----------
./csv/visitor.csv
isitor.csv
----------c-----------
./csv/visitor.csv
csv/visitor.csv