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

C#で指定したUnicode文字が句読点かどうかを判定する方法

C#で指定したUnicode文字が句読点(punctuation)であるかどうかを判定するには、Char.IsPunctuation() メソッドを使用します。このメソッドは、引数に渡された文字が句読点として分類される場合に true を返し、それ以外の場合は false を返します。

例1:英字を判定する場合

まず、英字 'q' に対して Char.IsPunctuation メソッドを実行するコード例を見てみましょう。

using System;
public class Demo {
    public static void Main() {
        bool res;
        char val = 'q';
        Console.WriteLine("Value = "+val);
        res = Char.IsPunctuation(val);
        Console.WriteLine("Is the value a punctuation? = "+res);
    }
}

出力

上記のコードを実行すると、次のような結果が出力されます。

Value = q
Is the value a punctuation? = False

文字 'q' はアルファベットであり句読点には該当しないため、結果は False となります。

例2:カンマを判定する場合

続いて、カンマ ',' のような実際の句読点を判定した場合の例です。

using System;
public class Demo {
    public static void Main() {
        bool res;
        char val = ',';
        Console.WriteLine("Value = "+val);
        res = Char.IsPunctuation(val);
        Console.WriteLine("Is the value a punctuation? = "+res);
    }
}

出力

上記のコードを実行すると、次のような結果が出力されます。

Value = ,
Is the value a punctuation? = True

カンマ ',' は句読点として分類されるため、結果は True となります。

Char.IsPunctuationメソッドのポイント

  • ASCII句読点としては、! " # % & ' ( ) * , - . / : ; ? @ [ \ ] _ { } などが該当します。
  • 日本語の「。」や「、」といった全角句読点も、Unicode上で句読点カテゴリに属するため正しく判定されます。
  • 英字・数字・空白などは句読点とはみなされず、false が返されます。
  1. C#でHashSetに指定された要素が含まれているか確認する方法

    C#のHashSet<T>に特定の要素が含まれているかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がHashSet内に存在する場合はtrue、存在しない場合はfalseを返します。Contains()メソッドの基本構文public bool Contains (T item);引数には検索対象の要素を渡します。HashSetはハッシュテーブルを基盤としているため、要素の検索はO(1)の計算量で実行でき、非常に高速です。例1:数値型のHashSetでContains()を使う以下は、int型のHashSetに対してContains()メ

  2. Pythonで文字列の平均文字が存在するかどうかを確認する方法

    英数字を含む文字列 s が与えられたとき、その文字列の「平均文字」が存在するかどうかを判定し、存在する場合はその文字を返すプログラムを作成します。ここでいう平均文字とは、文字列内の各文字のASCII値の平均を計算し、その小数点以下を切り捨てた値に対応する文字のことです。 問題の例 例えば、入力が s = pqrst の場合、出力は r になります。これは、各文字のASCII値の平均が以下のように計算されるためです。 (112 + 113 + 114 + 115 + 116) / 5 = 570 / 5 = 114 ASCII値 114 に対応する文字は r なので、答えは r となります。 解