2012-04-04 22 views
1

我需要比較兩個字符串在一個單詞文檔我工作它的字母和數字值,但它不能夠比較一個字符串,其中包含一些特殊字符,如(Máceres-Cartínez)在這裏,我和一個特殊字符所以沒有比較。如何比較具有特殊字符的Word文檔中的2個字符串(EX:Dáceres-Nartínez)?

我的代碼如下。 StreamReader sr = new StreamReader(this.textBox1.Text); string strValue = sr.ReadToEnd(); string [] strSpliter = new string [1]; strSpliter [0] =「參考」; string [] strSplitValue = strValue.Split(strSpliter,StringSplitOptions.None); String [] strParaValue = strSplitValue [1] .Split(new string [] {「\ r \ n」},StringSplitOptions.RemoveEmptyEntries); FileStream fst = new FileStream(@「E:\ TrueText.txt」,FileMode.Append); StreamWriter swt = new StreamWriter(fst); FileStream fsf = new FileStream(@「E:\ FalseText.txt」,FileMode.Append); StreamWriter swf = new StreamWriter(fsf);

  swt.WriteLine("Startred on :" + DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss") + "\n"); 
      swf.WriteLine("Startred on :" + DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss") + "\n"); 

      foreach (string strPara in strParaValue) 
      { 
       string[] strAuthorsPart = strPara.Split('.'); 
       string[] strAuthorslist = strAuthorsPart[0].Split(','); 
       string[] strAuthor = strAuthorslist[0].Split(' '); 
       if (strSplitValue[0].Contains(strAuthor[0].Trim())) 
       { 
        swt.WriteLine(strAuthor[0] + "\t"); 
       } 
       else 
       { 

        swf.WriteLine(strAuthor[0] + "\t"); 
       } 

有沒有人指導我如何解決這個問題?

感謝 Deego

+0

那是哪裏的代碼? – 2012-04-04 11:10:53

回答

0

我不能看到你的代碼..也許這可以幫助你:

bool result = Regex.IsMatch("\\bthe\\b", text); 

(using System.Text.RegularExpressons.) 
StreamReader sr = new StreamReader(this.textBox1.Text); 
      string strValue = sr.ReadToEnd(); 
      string[] strSpliter =new string[1]; 
      strSpliter[0] = "References"; 
      string[] strSplitValue = strValue.Split(strSpliter, StringSplitOptions.None); 
      String[] strParaValue = strSplitValue[1].Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 
      FileStream fst = new FileStream(@"E:\TrueText.txt",FileMode.Append); 
      StreamWriter swt = new StreamWriter(fst); 
      FileStream fsf = new FileStream(@"E:\FalseText.txt", FileMode.Append); 
      StreamWriter swf = new StreamWriter(fsf); 

      swt.WriteLine("Startred on :" + DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss") + "\n"); 
      swf.WriteLine("Startred on :" + DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss") + "\n"); 

      foreach (string strPara in strParaValue) 
      { 
       string[] strAuthorsPart = strPara.Split('.'); 
       string[] strAuthorslist = strAuthorsPart[0].Split(','); 
       string[] strAuthor = strAuthorslist[0].Split(' '); 
       if (strSplitValue[0].Contains(strAuthor[0].Trim())) 
       { 
        swt.WriteLine(strAuthor[0] + "\t"); 
       } 
       else 
       { 

        swf.WriteLine(strAuthor[0] + "\t"); 
       } 

這是我的代碼

+0

這是我的代碼。我寫這樣寫就像將文檔分成兩個字符串,並將第二個字符串與第一個字符串進行比較,因爲它編譯得很清楚,但它不是編譯時使用特殊字符(á-í) – DeeGo 2012-04-04 11:22:52

相關問題