🔖

ハイフンかどうか (C#)

2022/03/02に公開

ハイフンに似た文字も含めてハイフンと識別します。

static bool IsHyphen(char ch)
{
    var hyphens = "-" +       // 2D	U+002D	ASCIIのハイフン
                  "ー" +      // E383BC	U+30FC	全角の長音
                  "‐" +      // E28090	U+2010	別のハイフン
                  "‑" +       // E28091	U+2011	改行しないハイフン
                  "–" +       // E28093	U+2013	ENダッシュ
                  "—" +       // E28094	U+2014	EMダッシュ
                  "―" +      // E28095	U+2015	全角のダッシュ
                  "−" +       // E28892	U+2212	全角のマイナス
                  "-" +      // XXXXXX U+FF0D	全角のマイナス
                  "ー";        // EFBDB0	U+FF70	半角カナの長音
    return (hyphens.IndexOf(ch) >= 0);
}

Discussion