我想将用户输入的每个字符作为单独的值,例如,如果用户键入Hello Wolrd
每个字符单独存储H
,E
,L
, L
,O
以便我可以将A-G
中的字符转换为1
H-Q
转换为2
和R-Z
转换为{{1}因此3
的输出结果为:HELLO
答案 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();