C#
 Computer >> コンピューター >  >> プログラミング >> C#

2つの文字列がC#を使用して互いにアナグラムであるかどうかを確認するにはどうすればよいですか?


アナグラムでは、別の文字列には最初の文字列に同じ文字が含まれますが、文字の順序は異なる場合があります。

ここでは、次の2つの文字列をチェックしています-

string str1 = "silent";
string str2 = "listen";

両方の文字列を文字配列に変換します-

char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();

今、それらを並べ替えます-

Array.Sort(ch1);
Array.Sort(ch2);

並べ替え後、文字列に変換します-

string val1 = new string(ch1);
string val2 = new string(ch2);

両方の文字列が等しいかどうかを比較します。両方が等しい場合、それはそれらがアナグラムであることを意味します。

以下はコードです-

using System;

public class Demo {
   public static void Main () {
      string str1 = "silent";
      string str2 = "listen";
      char[] ch1 = str1.ToLower().ToCharArray();
      char[] ch2 = str2.ToLower().ToCharArray();
      Array.Sort(ch1);
      Array.Sort(ch2);
      string val1 = new string(ch1);
      string val2 = new string(ch2);

      if (val1 == val2) {
         Console.WriteLine("Both the strings are Anagrams");
      } else {
         Console.WriteLine("Both the strings are not Anagrams");
      }
   }
}

出力

Both the strings are Anagrams

  1. 2つの数値(m、n)が友愛数であるかPythonを使用していないかを確認するにはどうすればよいですか?

    友愛数は2つの異なる数であるため、それぞれの適切な除数の合計が他の数と等しくなります。 (数値の適切な除数は、数値自体以外のその数値の正の因数です。たとえば、6の適切な除数は1、2、および3です。) Pythonでは、これらの数値のそれぞれの合計を取り、それらを他の数値と比較することで、これらの数値を見つけることができます。たとえば、 def are_amicable(x, y)    if x==y:       return False    # Find sum of their proper divisors &n

  2. Pythonで正規表現を使用して2つの文字列を比較するにはどうすればよいですか?

    次のコードを使用して、指定された文字列を比較できます 例 import re s1 = 'Pink Forest' s2 = 'Pink Forrest' if bool(re.search(s1,s2))==True:    print 'Strings match' else:    print 'Strings do not match' 出力 これにより、出力が得られます Strings do not match