Sorry, make that strings.NewReplacer("\r\n", "\r\n", "\n", "\r\n").Replace(mystring)
On Sat, Jun 25, 2016 at 8:46 AM Matt Harden <matt.har...@gmail.com> wrote: > Don't use x/text/runes for this. It's overkill. > > import "strings" > ... > strings.NewReplacer("\r\n", "\r\n", "\r", "\r\n").Replace(mystring) > > > On Fri, Jun 24, 2016 at 2:00 PM mhhcbon <cpasmaboiteas...@gmail.com> > wrote: > >> I forgot to mention another difficulty i have using replacement. >> >> As it will receive only one rune at a time in >> runes.Map(func(r rune) rune {}) >> >> If the file already contains \r\n, i guess i will be doubling the \r, >> resulting in an ugly \r\r\n >> >> Any ideas ? >> >> >> >> Le vendredi 24 juin 2016 22:54:35 UTC+2, mhhcbon a écrit : >>> >>> Hi, >>> >>> I have a small func like this >>> >>> >>> func WriteAsWindows1252 (src string, dst string) error { >>> bSrc, err := ioutil.ReadFile(src) >>> if err != nil { >>> return err >>> } >>> >>> bDst := make([]byte, len(bSrc)*2) >>> replaceNonAscii := runes.Map(func(r rune) rune { >>> if r > unicode.MaxASCII { >>> return rune('?') >>> } >>> return r >>> }) >>> transformer := transform.Chain(replaceNonAscii, charmap.Windows1252. >>> NewEncoder()) >>> _, _, err = transformer.Transform(bDst, bSrc, true) >>> if err != nil { >>> return err >>> } >>> >>> return ioutil.WriteFile(dst, bDst, 0644) >>> } >>> >>> I would like to add a new replacement of \n to \r\n. >>> >>> I don't see how i can do that as rune can take only \r or \n but not >>> both. And runes.Map take a function which returns a unique rune. If i don t >>> mistake. >>> >>> Is there a way to achieve this with Chain ? Or i got to go with a >>> []byte.Replace https://golang.org/pkg/bytes/#Replace ? >>> >>> BTW, is it the correct way to encode an utf-8 file to windows1252 ? >>> >>> thanks! >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.