none
如何寫入文字檔案,而內容是固定格式的 RRS feed

  • 問題

  • 現在有一個需求,想要利用web-form的網頁輸入資訊,然後再輸出成文字檔。
    
    例如 
    
    姓名 學號
    
    大毛 124$A@6
    二毛 123$B@5
    
    輸入的上列資訊,當按下button後。
    
    可轉成例如下列格式的文字檔
    
    大毛 分配到6年級的A班,請家長有空多關照。
    
    二毛 分配到5年級的B班,請老師有空多關照。
    
    
    "空白" 分配到"空白"年級的"空白"班,請家長有空多關照。
    
    空白的地方是變數,其他的地方則是固定格式化的文字。
    
    請問這樣的狀況要如何作會比較好。
    2010年8月10日 上午 08:50

解答

  • string[] data = { "大毛 124$A@6", "二毛 123$B@5" };
    Regex patten = new Regex(@"(?<a>\S+)\s\d+[$](?<b>[A-Z]+)[@](?<c>\d+)", 
      RegexOptions.IgnoreCase | RegexOptions.Singleline);
    foreach (string s in data) {
      MessageBox.Show(
        patten.Replace(s, m => string.Format(
          "{0} 分配到{1}年級的{2}班,請家長有空多關照。", 
          m.Groups["a"], 
          m.Groups["c"], 
          m.Groups["b"]
        )
      ));
    }
    
    • 已提議為解答 Johnny.Net 2010年8月11日 上午 05:04
    • 已標示為解答 呼拉呼拉呼 2010年8月11日 上午 08:24
    2010年8月10日 下午 12:10

所有回覆

  • 主題是你不知道怎麼寫入文字檔 ? 還是怎麼做出這種字串 ?
    2010年8月10日 上午 09:26
  • string[] data = { "大毛 124$A@6", "二毛 123$B@5" };
    Regex patten = new Regex(@"(?<a>\S+)\s\d+[$](?<b>[A-Z]+)[@](?<c>\d+)", 
      RegexOptions.IgnoreCase | RegexOptions.Singleline);
    foreach (string s in data) {
      MessageBox.Show(
        patten.Replace(s, m => string.Format(
          "{0} 分配到{1}年級的{2}班,請家長有空多關照。", 
          m.Groups["a"], 
          m.Groups["c"], 
          m.Groups["b"]
        )
      ));
    }
    
    • 已提議為解答 Johnny.Net 2010年8月11日 上午 05:04
    • 已標示為解答 呼拉呼拉呼 2010年8月11日 上午 08:24
    2010年8月10日 下午 12:10
  • 作業級的問題,請先展現你努力的過程。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年8月10日 下午 03:05
  • 感謝~~我想我應該知道方向是如何走了。

     

    2010年8月11日 上午 04:39
  • 感謝~~我已經改了標題,請問這樣有比較容易瞭解我的意思嗎?
    2010年8月11日 上午 04:41
  • 恩,之前你的標題怪怪的...
    2010年8月14日 上午 03:20