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.

Reply via email to