セで始まりスで終わる文字列を判別する §
文字列の配列の中に、セで始まりスで終わる文字列があるといいます。
それを判別したいとします。
どうすれば良いのでしょうか。
やり方はいろいろあります。
- 正規表現を使う
- 最初の1文字と最後の1文字を抜き出して文字比較を行う
しかし、StartsWithメソッドとEndsWithメソッドを使うと簡単です。
これらは、文字列の最初の文字列と最後の文字列が指定通りかを判定します。
罠の数々 §
- StartsWithメソッドとEndsWithメソッドは便利だが、前後に空白文字が挟まっていたりすると判定に失敗する (必要ならTrimメソッドの併用なども検討しよう)
- 判定すべき文字が1文字でも文字列を渡すのは少しオーバーヘッドかもしれない (簡単に文字判定に持ち込めるならそちらの方が良いこともあるだろう)
参考リンク §
String.StartsWith メソッド
String.EndsWith メソッド
実は文字列を単純比較する他にも使い方がある。どんなケースに上の2メソッドが使用できるのか上のリンクから辿って確認してみよう。
リポジトリ §
https://github.com/autumn009/cshowto
StartEnd §
using System;
class Program
{
static void Main()
{
string[] ar = {
"クラウド","セフィロス","ティファ","エアリス","バレット"
};
foreach (var item in ar)
{
if (item.StartsWith("セ") && item.EndsWith("ス")) Console.WriteLine(item);
}
}
}
実行結果
セフィロス