ホームページ  >  記事  >  バックエンド開発  >  C# 文字列処理ガジェットの詳細な紹介

C# 文字列処理ガジェットの詳細な紹介

黄舟
黄舟オリジナル
2017-03-17 11:43:321505ブラウズ

この記事では、主に

C#String 処理ガジェットを紹介します。大文字への変換、文字列の逆変換、base64 暗号化、復号化; MD5 32 ビット暗号化。非常に良い基準値を持っています。以下のエディターで見てみましょう 私は大学に入学したばかりの頃、文字列を処理する小さなプログラムを書きたいと常に思っていました。

残念ながら、当時はあまり時間がなかったので、この冬休みまで延期し続けていました。

冬休みには何もすることがないので、スキルを練習し、フォームと基本を復習するために小さなプログラムを書きました。

実装される関数は次のとおりです:

大文字に変換

小文字に変換

文字列を反転

特定の文字列の出現回数

通常のマッチング

base64暗号化

base64復号化

ROT13暗号化と復号化

MD5 32ビット暗号化プログラムはまだ非常にシンプルですが、堅牢ではなく、入力検証もありません。

バグは慎重に作成してください (注意してください

そして、私の

変数

の名前付けとメソッドの名前付けについて文句を言わないでください。小学校からピンインを学習していない場合は、間違いなく理解できないでしょう:)最初はブラインドテストでした。

翻訳するのが本当に面倒です

大文字と小文字に変換する組み込みメソッドがあります

Console.WriteLine(s.ToUpper());//转换成大写
Console.WriteLine(s.ToLower());//转换成小写

逆の文字列を出力します

public static void fanxiang(string s)
  {
   char[] arrey = s.ToCharArray();
   StringBuilder s1 = new StringBuilder("");
   for (int i = arrey.Length - 1; i >= 0; i--)
   {
    s1.Append(Convert.ToString(arrey[i]));
   }
   Console.WriteLine("反向字符串为{0}",s1);
  }

特定の短い文字列の番号を表示しますそれ

public static void pipei(string s)
  {
   int count = 0;
   int i;
   Console.WriteLine("请输入短字符串");
   string s2 = Console.ReadLine();
   while ((i=s.IndexOf(s2)) >= 0)
   {
    count++;
    s = s.Substring(i + s2.Length);
   }
   Console.WriteLine("字符串中出现了{0}次{1}", count, s2);
  }

定期的なマッチング

私は通常のクラスの知識を学んだことがありません。オンラインでたくさん読んだのですが、ほとんどが通常のクラスではなく通常のルールについて話しています。これを書くのに1日ほどかかりましたが、まだバグがあります。

一致する結果がない場合、または一致が空の場合?複数の改行が発生します。当時どのようにバグをテストしたかも忘れてしまいました。

何かアイデアがある人は誰でもそれを共有できます。

public static void zzpipei(string s)
  {
   Console.WriteLine("请输入正则表达式");
   string zz = Console.ReadLine();
   Regex re = new Regex(zz);
   string s2 = "";
   if (re.IsMatch(s))
   {
    Console.WriteLine("匹配成功");
    MatchCollection mc = re.Matches(s);
    foreach (Match ma in mc)
    {
     s2 += ma.Value;
     s2 += ("\r\n");
    }
    Console.WriteLine("一行为一个匹配结果");
    Console.WriteLine(s2);
   }
   else
   { Console.WriteLine("无匹配结果"); }
  }

base64暗号化

使用されるメソッドも組み込まれており、中国語の文字の暗号化は一部のWebサイトの暗号化とは異なります。

 public static void basejiami(string s)
  {
   byte[] bytes = Encoding.Default.GetBytes(s);
    Console.WriteLine("字符串base64加密为{0}", Convert.ToBase64String(bytes));
  }

base64復号化

 public static void basejiemi(string s)
  {
   byte[] bytes = Convert.FromBase64String(s);
    Console.WriteLine("字符串base64解密为{0}", Encoding.Default.GetString(bytes));
  }

ROT13暗号化と復号化

ROT13は単純な置換暗号です。 ROT13 は、古代ローマで過去に開発されたシーザー暗号のバリエーションでもあります。

ROT13 は、13 ビットを逆方向に置き換えることです。つまり、A は N に変換され、B は O に変換されます。

シーザー暗号は 3 桁を逆方向に置き換えます。このメソッドはシーザー暗号を解読するように変更できますが、このメソッドでは大文字と小文字が区別されます。

ROT13 は独自の逆関数です。つまり、ROT13 を復元するには、同じ暗号化アルゴリズムを適用するだけで、暗号化と復号化に同じ操作を使用できます。

このアルゴリズムは実際の暗号化セキュリティを提供しないため、セキュリティが必要な目的には使用しないでください。これは弱い暗号化の例としてよく引用されます。

public static void rotjm(string s)
  {
   string jmzf = "";//解密加密后的字符串
   char[] arrey = s.ToCharArray();
   Console.WriteLine("字符串长度为{0}", arrey.Length);
   for (int i = 0; i < arrey.Length; i++)
   {
    int zfcode = (int)arrey[i];
    if (zfcode >= 97 && zfcode <= 109)
     zfcode = zfcode + 13;
    else if (zfcode >= 110 && zfcode <= 122)
     zfcode = zfcode - 13;
    else if (zfcode >= 65 && zfcode <= 77)
     zfcode = zfcode + 13;
    else if (zfcode >= 78 && zfcode <= 90)
     zfcode = zfcode - 13;
    jmzf = jmzf + (char)zfcode;
   }
   Console.WriteLine("结果为{0}", jmzf);
  }

文字列を置換

public static void thzf(string s)
  {
   Console.WriteLine("请输入想要被替换的字符串");
   string str1 = Console.ReadLine();
   Console.WriteLine("请输入想要替换成的字符串");
   string str2 = Console.ReadLine();
   Console.WriteLine(s.Replace(str1, str2));
  }

32ビットMD5暗号化

public static void md5jm(string s)
  {
   MD5 md5 = new MD5CryptoServiceProvider();
   //将字符编码为字节序列
   byte[] data = System.Text.Encoding.Default.GetBytes(s);
   byte[] md5data = md5.ComputeHash(data);
   md5.Clear();
   //遍历加密数组,加密字节,该方法为32位加密
   string str = "";
   for (int i = 0; i < md5data.Length; i++)
   {
    str += md5data[i].ToString("x").PadLeft(2, &#39;0&#39;);
   }
   Console.WriteLine("加密结果为{0}",str);
  }
私のプログラム、.NET Framework 4.0を使用しています。

以上がC# 文字列処理ガジェットの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。