トラック
/
C#
C#
/
演習
/
ピカピカ
ピカピカ

ピカピカ

学習演習

はじめに

char型

C#のchar型は、テキストを構成する最小単位を表す16ビットの値です。 複数のcharを組み合わせて"word"のような文字列を作ることもできますし、それぞれのcharを個別に扱うこともできます。charのリテラルは、'A'のようにシングルクォートで囲みます。

C#のcharはUTF-16のUnicodeエンコーディングに対応しているので、ラテン文字だけでなく、世界で使われているほぼすべての文字体系を表せます。たとえば、ギリシャ文字の'β'です。

charを調べたり操作したりするための組み込みのライブラリメソッドがたくさんあります。これらはSystem.Charクラスの静的メソッドとして用意されています。

StringBuilder

charは、StringBuilderオブジェクトと組み合わせて使われることがあります。 このオブジェクトには、文字列を1文字ずつ組み立てて操作できるメソッドがあります。処理の最後にToStringを呼び出すと、完成した文字列を出力できます。

説明

この演習では、エンジニアが識別子の名前を整えるのを手助けする、ユーティリティルーチンの一部を実装します。 5つのタスクを通して、Cleanルーチンを少しずつ作り上げていきます。 有効な識別子は、0個以上の英字とアンダースコアで構成されます。 どの場合も、入力文字列がnullでないことは保証されています。 Clean関数に空文字列を渡した場合は、空文字列を返すようにしてください。 なお、空の識別子は効果がないため、呼び出し側は空の識別子でCleanルーチンを呼び出さないようにしましょう。

1. 空白をアンダースコアに置き換える

(static) Identifier.Clean()メソッドを実装して、空白をアンダースコアに置き換えます。 先頭と末尾の空白も対象です。

Identifier.Clean("my   Id");
// => "my___Id"

2. 制御文字を大文字の文字列"CTRL"に置き換える

(static) Identifier.Clean()メソッドを変更して、制御文字を大文字の文字列"CTRL"に置き換えます。

Identifier.Clean("my\0Id");
// => "myCTRLId",

3. ケバブケースをキャメルケースに変換する

(static) Identifier.Clean()メソッドを変更して、ケバブケースをキャメルケースに変換します。

Identifier.Clean("à-ḃç");
// => "àḂç"

4. 英字以外の文字を除外する

(static) Identifier.Clean()メソッドを変更して、英字以外の文字を除外します。

Identifier.Clean("1😀2😀3😀");
// => ""

5. ギリシャ文字の小文字を除外する

(static) Identifier.Clean()メソッドを変更して、'α'から'ω'までの範囲のギリシャ文字を除外します。

Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
C# Exercism

ピカピカを始める準備はできましたか?

Exercismに登録すれば、62個のコンセプト178個の演習、そして本物の人間によるメンタリングとともに、C#を学んでマスターできます。すべて無料です。