Partage
  • Partager sur Facebook
  • Partager sur Twitter

comparer deux chaines

Sujet résolu
    28 avril 2021 à 22:19:03

    Bonjour j'essaie tant bien que mal à comparer deux chaines en disant que si parmis les deux chaines AU MOINS 5 caractères consécutives sont exactes, alors m'écrire ces derniers sur la richtextbox 3 et continuer si la chaine n'est pas fini, mais apparrement j'y arrive pas :(

    quelqu'un pour m'aider svp ?

    private void button1_Click(object sender, EventArgs e)
            {
                string s1 = richTextBox1.Text;
                string s2 = richTextBox2.Text;
    
                int s1Length = s1.Length;
                int s2Length = s2.Length;
    
                int compteur = 0;
                for (int i = 0; i < s1Length; i++)
                {
                    for (int j = 0; j < s2Length; j++)
                    {
                        if (s1[i] == s2[j])
                        {
                            for (int k = 0; k < 5; k++)
                            {
                                if (s1[i + k] == s2[j + k])
                                {
                                    compteur++;
                                    if (compteur == 5)
                                    {
                                        richTextBox3.Text += s1.Substring(i - compteur, i) + Environment.NewLine;
                                        compteur = 0;
                                        i += k;
                                    }
                                }                          
                            }
                        }
                    }
                }
            }
    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2021 à 23:16:23

      Merci à toi ! :)

      private void button1_Click(object sender, EventArgs e)
              {
                  richTextBox3.Clear();
      
                  string s1 = richTextBox1.Text.Replace("\n", string.Empty);
                  string s2 = richTextBox2.Text.Replace("\n", string.Empty);
      
                  int s1Length = s1.Length;
                  int s2Length = s2.Length;
      
                  int k = 0;
                  int interval = (int)numericUpDown1.Value;
                  for (int i = 0; i < s1Length; i++)
                  {
                      for (int j = 0; j < s2Length; j++)
                      {
                          for (k = 0; k < interval; k++)
                          {
                              if (j + k >= s2Length || i + k >= s1Length)
                              {
                                  break;
                              }
                              if (s1[i + k] == s2[j + k])
                              {
                                  if (k + 1 == interval)
                                  {
                                      richTextBox3.Text += s1.Substring(i, interval) + Environment.NewLine;
                                      i += k;
                                  }
                              }                          
                          }                
                      }
                  }
              }
      • Partager sur Facebook
      • Partager sur Twitter

      comparer deux chaines

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown