我正在製作一個非常簡單的Windows應用程序,使用Visual Studio和C#編輯電影的字幕文件。我想要一個程序,當沒有人的時候,它會爲對話句子增加一個空格。例如:C# - 如何用「 - é」替換重音字符,即「-É」
- 嘿,怎麼了?
- 沒有太多。
to
- 嘿,怎麼了?
- 沒什麼。
我使用工具箱來創建一個界面,只需一個按鈕來選擇正確的文件。這是我對這個按鈕的代碼:
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"));
}
}
這樣做是基本取代「-A」與「 - A」,從而創造了空間。這是我提出的解決方案,我打算對每個字母做這個,包括重音字母,例如À,Á,È,É等等。
這不起作用。如果我把text = text.Replace(「 - É」,「 - É」);該程序什麼都不做。
我想知道的是如何解決這個問題。
感謝您的閱讀,如果您有更好的替代方案,請隨時告訴我。
你需要研究'regex'。您不必爲每個可能的字母手動執行此操作! – Blorgbeard
使用'regex.Replace()' – Harsh
作爲@Blorgbeard提到的,你可能能夠做簡單的東西爲'文本=新的正則表達式( 「^ - 」)。REPLACE(文字, 「 - 」)' – Rob