我正在创建一个使用威尔士语的游戏。游戏的目的是帮助孩子学习拼写某些单词。因此,基本上说出一个单词时,他们必须通过单击屏幕上正确的字母来拼写该单词。
我面临的挑战是将单词的字符与他们选择的字母进行比较。他们显然必须按正确的顺序选择字母。由于威尔士字母包含 8个字母,每个字母具有 2个字符,即Ch, Dd, Ll etc
,因此编译器会将它们读取为单独的字符,即'C'
而不是{ {1}}。一个示例就是单词'Ch'
。编译器会认为L是字母L的2个单独出现。实际上,这是威尔士语中的一个字母。...因此,当用户在屏幕上单击'Gwallt' (hair in English)
进行拼写时,将抛出错误...我该如何避免呢?我可以设置一些规则吗?我将所有各种单词存储在数组中。希望以上有意义吗?
答案 0 :(得分:1)
使用正则表达式进行拆分可能会对您有所帮助。
//ch is the first element, ll an other char or any char from a to z
//Ignoring case and multi line
private Regex tokenizerRegex = new Regex(@"(ch|ll|[a-z])", RegexOptions.IgnoreCase | RegexOptions.Multiline);
//split your input string
//split returns an array of strings
var tokensText = tokenizerRegex.Split("channel");
//print results
tokensText.ToList().ForEach(i => Console.WriteLine(i.ToString()));
结果:
> empty string
> ch
> empty string
> a
> empty string
> n
> empty string
> n
> empty string
> e
> empty string
> l
> empty string
答案 1 :(得分:0)
我认为问题在于字符编码。我建议为特定的有向图使用正确的Unicode代码点 .NET Character Encoding Latin Script in Unicode