C#でUnicode文字が区切り文字かどうかを判定する方法
Unicode文字が区切り文字(セパレーター)であるかどうかを確認するには、Char.IsSeparator() メソッドを使用します。このメソッドは、指定されたUnicode文字が区切り文字カテゴリに分類される場合に true を、そうでない場合に false を返します。
それでは、具体的なコード例を見ていきましょう。
例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
カンマ「,」は区切り文字カテゴリには該当しないため、結果は False となります。カンマは句読点(Punctuation)として分類されます。
例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の区切り文字カテゴリ(Space Separator)に属するため、結果は True となります。
補足:区切り文字の種類について
Unicodeでは、区切り文字は主に以下の3種類に分類されています。
- Space Separator(Zs):半角スペースや全角スペースなど、空白を表す文字
- Line Separator(Zl):行を区切るための文字(U+2028)
- Paragraph Separator(Zp):段落を区切るための文字(U+2029)
Char.IsSeparator() メソッドは、これらのいずれかに該当する文字に対して true を返します。文字列の解析やバリデーション処理などで活用できる便利なメソッドです。
-
Pythonで文字列の母音がアルファベット順になっているかどうかを確認する方法
文字列 s が与えられたとき、その中に含まれる母音がアルファベット順に並んでいるかどうかを判定する問題です。 例えば、入力が s = helloyou の場合、含まれる母音は e、o、o、u であり、これらはすべてアルファベット順に並んでいるため、出力は True になります。 解法の考え方 この問題は、以下の手順で解くことができます。 比較用の変数 character を、ASCIIコード64の文字(@)で初期化します。この文字はすべての英字よりも小さい値を持つため、最初に出現する母音との比較に利用できます。 文字列 s の各文字について、次の処理を繰り返します。 s[i] が母音(A
-
Pythonで文字列の平均文字が存在するかどうかを確認する方法
英数字を含む文字列 s が与えられたとき、その文字列の「平均文字」が存在するかどうかを判定し、存在する場合はその文字を返すプログラムを作成します。ここでいう平均文字とは、文字列内の各文字のASCII値の平均を計算し、その小数点以下を切り捨てた値に対応する文字のことです。 問題の例 例えば、入力が s = pqrst の場合、出力は r になります。これは、各文字のASCII値の平均が以下のように計算されるためです。 (112 + 113 + 114 + 115 + 116) / 5 = 570 / 5 = 114 ASCII値 114 に対応する文字は r なので、答えは r となります。 解