Ho cercato di leggere un file, che quindi inserirà il materiale letto in una stringa. Poi la stringa sarà ottenere raggruppati per linea in più stringhe:Golang: problemi in sostituzione di una nuova stringa in una stringa da un file di testo
absPath, _ := filepath.Abs("../Go/input.txt")
data, err := ioutil.ReadFile(absPath)
if err != nil {
panic(err)
}
input := string(data)
L'input.txt viene letto come:
un
forte uccellino
con un molto
grande cuore
andato
a scuola un giorno e
dimenticato il suo cibo a
casa
Tuttavia,
re = regexp.MustCompile("\\n")
input = re.ReplaceAllString(input, " ")
trasforma il testo in un pasticcio maciullato di:
homeot suo cibo ATAND
io non sono sicuro di come la sostituzione a capo può rovinare così male al punto in cui il testo stesso inverte
Che non risolverebbe il problema, però, dal momento che - come detto Jens - a capo di Windows ('\ r \ n ') stanno causando l'effetto descritto quando solo il '\ n' viene sostituito lasciando il' \ r' nella stringa. – madsen
@madsen hai pensato che se '\ r \ n' sta causando un problema, potrebbe essere opportuno rimuovere' \ r \ n'? O sta sostituendo la riga 'strings.Replace (input," \ n "," ", - 1)' a 'strings.Replace (input," \ r \ n "," ", - 1)' un compito impossibile per tu? –
Nessun motivo per diventare aggressivi. Il tuo punto sul non necessariamente bisogno di regex va bene, ma la tua risposta non aiuta OP a risolvere il suo problema reale. – madsen