如何将userinput作为单独的字符?

时间:2017-03-09 18:10:37

标签: c#

我想将用户输入的每个字符作为单独的值,例如,如果用户键入Hello Wolrd每个字符单独存储HELLO以便我可以将A-G中的字符转换为1 H-Q转换为2R-Z转换为{{1}因此3的输出结果为:HELLO

2 个答案:

答案 0 :(得分:4)

您可以使用正则表达式:

using System.Text.RegularExpressions;

string input = "Hello Wolrd";
input = input.ToUpper();
input = Regex.Replace(input, "[A-G]", "1");
input = Regex.Replace(input, "[H-Q]", "2");
input = Regex.Replace(input, "[R-Z]", "3");

此示例代码可以进行改进/优化,但这应该为您提供一个简单的起点来满足您的需求。

答案 1 :(得分:0)

var map = new Dictionary<char, char>() { { 'A', '1'}, {'B', '1'}, //etc };
var result = new StringBuilder();
foreach (char c in srcString) {
   char mappedChar;
   if (map.TryGetValue(c, out mappedChar))
      result.Append(mappedChar);
}
return result.ToString();