String compare

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Muhs

    #1

    String compare

    Hi !!
    i want to compare two strings and return the difference

    For example, i have two strings,
    string str1="then";
    string str2="than";

    it compared the two strings and returns 1, as only one character is
    different (a and e).
    Is there a function in c# that can do this??
  • rossum

    #2
    Re: String compare

    On Wed, 12 Mar 2008 09:20:41 -0700 (PDT), Muhs <shumyl21@gmail .com>
    wrote:
    >Hi !!
    >i want to compare two strings and return the difference
    >
    >For example, i have two strings,
    >string str1="then";
    >string str2="than";
    >
    >it compared the two strings and returns 1, as only one character is
    >different (a and e).
    >Is there a function in c# that can do this??
    Have a look at the Levenshtein Distance measure,
    http://en.wikipedia.org/wiki/Levenshtein_distance which may be what
    you are looking for. As far as I am aware it is not in .NET, though
    it is possible there is a C# version of the algorithm out there
    somewhere.

    rossum



    Comment

    • Martin Bonner

      #3
      Re: String compare

      On Mar 12, 4:20 pm, Muhs <shumy...@gmail .comwrote:
      Hi !!
      i want to compare two strings and return the difference
      >
      For example, i have two strings,
      string str1="then";
      string str2="than";
      >
      it compared the two strings and returns 1, as only one character is
      different (a and e).
      Is there a function in c# that can do this??
      I don't think so.

      This is quite easy, so I suspect it is homework. You won't learn if
      you get somebody else to write the code for you. If you have written
      some code and are having trouble, then post it with a description of
      the problem and we can probably help.

      If it is not homework, then what is the application? (I can think of
      a number of issues with the specification as it stands, and the
      resolution will depend on the application.)

      Comment

      • Muhs

        #4
        Re: String compare

        lol.. i know what u mean by being it a homework... its not exactly a
        homework..
        its my degree project which i'll be working on till september... and
        ive just stated.. My project is about mutation clustering...th e data
        that i have is in the form of 1's and 0's
        (10001010101010 101010000011... could be int or string). And i have to
        cluster them based on the hamming distance...
        I was just thinking of ways to compare and cluster the data... (i
        thought i could compare the each string and getthe number of different
        bits)
        or i can XOR each int and find the distance...
        somebody in the reply above sent a link... and i found this hamming
        distance algo:

        int dist = 0;
        int val = 0;
        int x= 8;
        int y=15;
        val = x ^ y; // this will be equal to 7

        while(val!=0)
        {
        ++dist;
        val = val - 1;
        }

        but this

        On 12 Mar, 16:43, Martin Bonner <martinfro...@y ahoo.co.ukwrote :
        On Mar 12, 4:20 pm, Muhs <shumy...@gmail .comwrote:
        >
        Hi !!
        i want to compare two strings and return the difference
        >
        For example, i have two strings,
        string str1="then";
        string str2="than";
        >
        it compared the two strings and returns 1, as only one character is
        different (a and e).
        Is there a function in c# that can do this??
        >
        I don't think so.
        >
        This is quite easy, so I suspect it is homework.  You won't learn if
        you get somebody else to write the code for you.  If you have written
        some code and are having trouble, then post it with a description of
        the problem and we can probably help.
        >
        If it is not homework, then what is the application?  (I can think of
        a number of issues with the specification as it stands, and the
        resolution will depend on the application.)

        Comment

        • Muhs

          #5
          Re: String compare

          int distance = 0;
          int val = 0;
          int x= 8;
          int y=15;
          val = x ^ y;

          while(val!=0)
          {
          ++distance;
          val = val - 1;
          }



          but the distance that i get is 7, same as val... i was thinking of
          converting 7 to binary and count the number of 1's (111) that way i
          could get distance 3..



          On 12 Mar, 16:43, Martin Bonner <martinfro...@y ahoo.co.ukwrote :
          On Mar 12, 4:20 pm, Muhs <shumy...@gmail .comwrote:
          >
          Hi !!
          i want to compare two strings and return the difference
          >
          For example, i have two strings,
          string str1="then";
          string str2="than";
          >
          it compared the two strings and returns 1, as only one character is
          different (a and e).
          Is there a function in c# that can do this??
          >
          I don't think so.
          >
          This is quite easy, so I suspect it is homework.  You won't learn if
          you get somebody else to write the code for you.  If you have written
          some code and are having trouble, then post it with a description of
          the problem and we can probably help.
          >
          If it is not homework, then what is the application?  (I can think of
          a number of issues with the specification as it stands, and the
          resolution will depend on the application.)

          Comment

          • Muhs

            #6
            Re: String compare

            lol.. i know what you mean by being it a homework... actually its my
            final year degree project.. on which i'll be working on till
            sepetember... my project is about mutation clustering... and i have
            data in the form of 1's and 0's(data= 101010000011000 001, could be int
            or string)... now i want to cluster the data based on some similarity
            measure.... i thought i could compare the string data and find the
            number of characters that are different... but somebody above sent a
            link and there was this algo of hamming distance... i wrote the algo
            as follows:

            int distance = 0;
            int val = 0;
            int x= 8;
            int y=15;
            val = x ^ y;

            while(val!=0)
            {
            ++distance;
            val = val - 1;
            }


            but the distance that i get is 7, same as val... i was thinking of
            converting 7 to binary and count the number of 1's (111) that way i
            could get distance 3..












            On 12 Mar, 16:43, Martin Bonner <martinfro...@y ahoo.co.ukwrote :
            On Mar 12, 4:20 pm, Muhs <shumy...@gmail .comwrote:
            >
            Hi !!
            i want to compare two strings and return the difference
            >
            For example, i have two strings,
            string str1="then";
            string str2="than";
            >
            it compared the two strings and returns 1, as only one character is
            different (a and e).
            Is there a function in c# that can do this??
            >
            I don't think so.
            >
            This is quite easy, so I suspect it is homework.  You won't learn if
            you get somebody else to write the code for you.  If you have written
            some code and are having trouble, then post it with a description of
            the problem and we can probably help.
            >
            If it is not homework, then what is the application?  (I can think of
            a number of issues with the specification as it stands, and the
            resolution will depend on the application.)

            Comment

            • Martin Bonner

              #7
              Re: String compare

              On Mar 12, 5:13 pm, Muhs <shumy...@gmail .comwrote:
              lol.. i know what you mean by being it a homework... actually its my
              final year degree project.. on which i'll be working on till
              sepetember... my project is about mutation clustering... and i have
              data in the form of 1's and 0's(data= 101010000011000 001, could be int
              or string)... now i want to cluster the data based on some similarity
              measure.... i thought i could compare the string data and find the
              number of characters that are different... but somebody above sent a
              link and there was this algo of hamming distance... i wrote the algo
              as follows:
              >
              int distance = 0;
              int val = 0;
              int x= 8;
              int y=15;
              val = x ^ y;
              >
              while(val!=0)
              {
              ++distance;
              val = val - 1;
              }
              but the distance that i get is 7, same as val... i was thinking of
              converting 7 to binary and count the number of 1's (111) that way i
              could get distance 3..
              Well yes. As currently coded, the while loop is equivalent to:
              distance = val;
              val = 0;
              (... provided x,y are constrainted to be >= 0). Go look at the
              wikipedia page again, and code the updated correctly, and it will
              indeed count the bits.
              >
              >
              On 12 Mar, 16:43, Martin Bonner <martinfro...@y ahoo.co.ukwrote :
              >
              On Mar 12, 4:20 pm, Muhs <shumy...@gmail .comwrote:
              >
              Hi !!
              i want to compare two strings and return the difference
              >
              For example, i have two strings,
              string str1="then";
              string str2="than";
              >
              it compared the two strings and returns 1, as only one character is
              different (a and e).
              Is there a function in c# that can do this??
              >
              I don't think so.
              >
              This is quite easy, so I suspect it is homework. You won't learn if
              you get somebody else to write the code for you. If you have written
              some code and are having trouble, then post it with a description of
              the problem and we can probably help.
              >
              If it is not homework, then what is the application? (I can think of
              a number of issues with the specification as it stands, and the
              resolution will depend on the application.)

              Comment

              Working...