ラオス語タイピングソフト 文字列処理でイメージと違う、、、動き。でもまぁ納得、、、いや。
かなり寝かせたラオス語タイピングソフトを久しぶりに触る。
次のステップでCSVから、日本語訳付で情報をロードするとしたいが、
とりあえず複数の単語の入力が出来るよう実装。
何度も入力したສະບາຍດີを正しく入力し次は、"ບໍ່ມີບັນຫາ"。
で、キーボードで、"ບ"に当たるところを入力したら文字が違うとはじかれた。
実際の処理は、キー入力を拾って、ラオス語文字に変換、
変換したものを比較しているのでこういう判定になる。
if (!"ບໍ່ມີບັນຫາ".StartsWith("ບ"))
{
//一致しない場合の処理
}
で、サクラエディタとかでこういうふうに表示されるし、
キーボードを打つ時の順番もこれ。
だから、一文字目は一致しているはずだがFalseとなる
これはおそらく子音と声調を一緒に判定している、、、。
単語を声調の前とかで文字列切り出してきっちり比較すると、
期待通りの判定結果になった。
//concatInputにこれまで入力した値を設定
//これまで入力した文字数分、単語の先頭から切り出して、Equalsメソッドで比較。
if (!"ບໍ່ມີບັນຫາ".Substring(0,concatInput.Length).Equals(concatInput))
{
//一致しない場合の処理
}