【C#】Char.GetUnicodeCategory(String, Int32)メソッドの使い方と実行例
C#のChar.GetUnicodeCategory(String, Int32)メソッドは、指定した文字列の中から指定された位置(インデックス)にある1文字を取り出し、UnicodeCategory列挙体のいずれかの値に基づいて分類します。たとえば、その文字が英小文字なのか、数字なのかといったカテゴリ情報を取得できます。
構文
このメソッドの構文は以下の通りです。
public static System.Globalization.UnicodeCategory GetUnicodeCategory (string str, int index);
各パラメータの意味は次のようになります。
・str:対象となる文字列
・index:分類したい文字の位置(0から始まるインデックス)
使用例
それでは、Char.GetUnicodeCategory(String, Int32)メソッドを使った具体的な例を見てみましょう。
using System;
using System.Globalization;
public class Demo {
public static void Main(){
string val = "amit";
UnicodeCategory unicode = Char.GetUnicodeCategory(val, 2);
Console.WriteLine("指定したインデックスの値 = " + unicode);
}
}この例では、文字列「amit」のインデックス2(3番目の文字「i」)を分類しています。
出力
このプログラムを実行すると、次のような結果が表示されます。
指定したインデックスの値 = LowercaseLetter
結果として「LowercaseLetter」が返され、対象の文字が英小文字であることがわかります。
別の使用例
続いて、数字を含む文字列での動作を確認してみましょう。
using System;
using System.Globalization;
public class Demo {
public static void Main(){
string val = "hjk9878hj";
UnicodeCategory unicode = Char.GetUnicodeCategory(val, 4);
Console.WriteLine("指定したインデックスの値 = " + unicode);
}
}この例では、文字列「hjk9878hj」のインデックス4(5番目の文字「7」)を分類しています。
出力
このプログラムを実行すると、次のような結果が表示されます。
指定したインデックスの値 = DecimalDigitNumber
結果として「DecimalDigitNumber」が返され、対象の文字が10進数の数字であることが確認できます。
まとめ
Char.GetUnicodeCategory(String, Int32)メソッドを使うことで、文字列内の任意の位置にある文字の種類を簡単に判定できます。戻り値のUnicodeCategoryには、UppercaseLetter(大文字)、LowercaseLetter(小文字)、DecimalDigitNumber(数字)など、さまざまな分類が定義されているため、入力値のバリデーションや文字種ごとの処理分岐などに活用できます。
-
【Java】MatcherクラスのappendReplacement()メソッドの使い方とサンプルコード
java.util.regex.Matcherクラスは、正規表現によるさまざまなマッチ操作を実行するエンジンを表すクラスです。このクラスにはコンストラクタが用意されておらず、java.util.regex.Patternクラスのmatcher()メソッドを使ってMatcherオブジェクトを取得します。 appendReplacement()メソッドとは MatcherクラスのappendReplacement()メソッドは、StringBufferオブジェクトと置換文字列(String)を引数として受け取ります。このメソッドは、入力データをStringBufferオブジェクトへ追加していく際に
-
【Java】PatternクラスのtoString()メソッドの使い方と実行例
java.util.regex パッケージの Pattern クラスは、正規表現をコンパイルした結果を表すクラスです。このクラスを利用することで、文字列に対する効率的なパターンマッチング処理を行うことができます。 toString() メソッドは、現在の Pattern オブジェクトがコンパイルされる際に使用された正規表現そのものを文字列として返します。つまり、Pattern.compile() に渡した正規表現と同じ内容を取得できます。 例1:toString()メソッドの基本的な使い方 import java.util.Scanner; import java.util.regex.Pat