Sto facendo un'applicazione Windows molto semplice utilizzando Visual Studio e C# che modifica i file dei sottotitoli per i filmati. Voglio un programma che aggiunge uno spazio alle frasi di dialogo quando non ce n'è uno. Ad esempio:C# - Come sostituire i caratteri accentati, ad esempio "-É" con "- É"
-Hey, come va?
-Niente molto.
a
- Ehi, come va?
- Niente di molto.
Ho utilizzato la casella degli strumenti per creare un'interfaccia con un solo pulsante per la selezione del file corretto. Questo è il codice che ho per questo pulsante:
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string text = File.ReadAllText(openFileDialog1.FileName, Encoding.GetEncoding("iso-8859-1"));
text = text.Replace("-A", "- A");
File.WriteAllText(openFileDialog1.FileName, text, Encoding.GetEncoding("iso-8859-1"));
}
}
Quello che fa è fondamentalmente sostituire "-A" con "- A", creando così uno spazio. Questa è la soluzione che ho trovato e stavo pianificando di farlo con ogni lettera, comprese le lettere accentate, come À, Á, È, É, ecc. Ecc.
Questo non funziona . Se inserisco text = text.Replace ("- É", "- É"); il programma non fa nulla.
Quello che voglio sapere è come aggiustarlo.
Grazie per la lettura e se si dispone di un'alternativa migliore per la mia applicazione, non esitate a farmelo sapere.
Hai bisogno di ricerca 'regex'. Non devi farlo manualmente per ogni lettera possibile! – Blorgbeard
Usa 'regex.Replace()' – Harsh
Come menzionato @Blorgbeard, potresti essere in grado di fare qualcosa di semplice come 'text = new Regex ("^- "). Sostituisci (testo," - ")' – Rob