4


0

特定の文字列内の非数値文字のASCIIを取得する方法

私は次のように文字列を持っています

String S="AB-1233-444";

これから、ABを分離し、その2つのアルファベットのASCIIを見つけたいと思います。

5 Answer


1


LINQを使用してそれを処理できるようになります(構文を今すぐテストします)。

var asciiCodes = S.Where(c => char.IsLetter(c)).Select(c => (int)c);

または、LINQ-yバージョンを使用したくない場合:

var characterCodes = new List();

foreach(var c in S)
{
    if(char.IsLetter(c))
    {
        characterCodes.Add((int)c);
    }
}


0


これを使用して、文字をコードポイントに変換できます: (int) 'a'


0


分離するには(分割されていることがわかっている場合-「string.Split」を使用できます)

たとえば、「A」のASCII表現を取得するには、次のコードを使用します

int asciivalue = (int)'A';

完全な例は

Dictionary asciilist = new Dictionary();
string s = "AB-1233-444";
string[] splitstrings = s.Split('-');
foreach( char c in splitstrings[0]){
  asciilist.Add( c, (int)c );
}


0


  var result = (from c in S.ToCharArray() where
   ((int)c >= (int)'a' &&
   (int)c <= (int)'z') ||
   ((int)c >= (int)'A' &&
   (int)c <= (int)'Z') select c).ToArray();

非linqバージョンは次のとおりです。

List result = new List();
foreach(char c in S)
{
  if(((int)c >= (int)'a' &&
     (int)c <= (int)'z') ||
     ((int)c >= (int)'A' &&
     (int)c <= (int)'Z'))
      {
        result.Add(c);
      }
 }


0


部分文字列を使用してアルファベットのみを取得し、forループを使用してアルファベットの値を配列に保存し、1つずつ印刷できます