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

C#のChar.IsSeparator()メソッドとは?区切り文字の判定方法を解説

C#のChar.IsSeparator()メソッドは、指定されたUnicode文字が区切り文字(セパレーター)として分類されているかどうかを判定するためのメソッドです。判定結果はbool型で返され、文字が区切り文字であればtrue、そうでなければfalseを返します。

構文

Char.IsSeparator()メソッドの構文は以下のとおりです。

public static bool IsSeparator (char ch);

パラメータ「ch」には、評価対象となるUnicode文字を指定します。戻り値としては、その文字が区切り文字に分類される場合にtrue、それ以外の場合にfalseが返されます。

補足:区切り文字に分類される文字とは

Unicodeでは、区切り文字は主に以下のカテゴリに属します。

  • Zs(Space Separator):半角スペース(U+0020)やノーブレークスペースなどの空白類文字
  • Zl(Line Separator):行区切り文字(U+2028)
  • Zp(Paragraph Separator):段落区切り文字(U+2029)

なお、カンマやタブなどは「区切り文字」という名前のイメージがありますが、Unicodeの分類上は区切り文字には含まれない点に注意が必要です。

使用例1:カンマを判定する場合

まず、カンマ「,」が区切り文字かどうかを判定する例を見てみましょう。

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

出力結果

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

Value = ,
Is the value a separator? = False

カンマはUnicodeの区切り文字カテゴリに属さないため、結果はFalseとなります。

使用例2:半角スペースを判定する場合

次に、半角スペースを判定する例です。

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

出力結果

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

Value =
Is the value a separator? = True

半角スペースはUnicodeの「Zs(Space Separator)」カテゴリに分類されるため、結果はTrueとなります。

まとめ

Char.IsSeparator()メソッドを使うことで、特定の文字がUnicodeの区切り文字(空白・行・段落の各セパレーター)に該当するかどうかを簡単に判定できます。テキスト解析や文字列の前処理などで、空白文字の扱いを厳密に制御したい場合に活用するとよいでしょう。

  1. C#のChar.IsUpper()メソッドとは?大文字判定の使い方を解説

    概要C#のChar.IsUpper()メソッドは、指定されたUnicode文字が「大文字」に分類されるかどうかを判定するメソッドです。判定結果はbool型で返され、文字が大文字であればtrue、それ以外であればfalseを返します。構文public static bool IsUpper(char ch);パラメータchには、判定対象となるUnicode文字を指定します。戻り値文字が大文字の場合:trueそれ以外の場合:false使用例1:大文字を判定する場合まずは、大文字「H」を判定するサンプルコードを見てみましょう。using System; public class Demo {

  2. C#のChar.IsSymbol()メソッドとは?文字が記号かどうかを判定する方法を解説

    Char.IsSymbol()メソッドとはC#のChar.IsSymbol()メソッドは、指定された文字列内の指定位置にある文字が、Unicodeの「記号(Symbol)」カテゴリに分類されているかどうかを判定するメソッドです。戻り値はbool型で、記号であればtrue、そうでなければfalseを返します。判定対象となるのは、数学記号(+、=など)、通貨記号($、¥など)、修飾記号、その他の記号といったUnicode記号カテゴリに属する文字です。構文public static bool IsSymbol (string str, int index);パラメータstr:評価対象の文字列inde