Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将用户输入作为单独的字符?_C# - Fatal编程技术网

C# 如何将用户输入作为单独的字符?

C# 如何将用户输入作为单独的字符?,c#,C#,我想将用户键入的每个字符作为一个单独的值,例如,如果用户键入Hello world,每个字符分别存储为H、E、L、L、O,这样我可以将字符从A-G转换为1h-Q转换为2,将R-Z转换为3,这样Hello的输出结果是:21222您可以使用正则表达式: using System.Text.RegularExpressions; string input = "Hello Wolrd"; input = input.ToUpper(); input = Regex.Replace(input, "[

我想将用户键入的每个字符作为一个单独的值,例如,如果用户键入Hello world,每个字符分别存储为H、E、L、L、O,这样我可以将字符从A-G转换为1h-Q转换为2,将R-Z转换为3,这样Hello的输出结果是:21222

您可以使用正则表达式:

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");

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

请记住,字符串实际上只是char…string.tocharray@字符串不仅仅是一个字符数组。否则我们将只使用一个字符数组@因此,J.H.Bonarius有效地使用了这个词,如果您想要更可读/可维护的代码,我建议使用@SegFault的正则表达式解决方案。如果您需要超高速,您可以使用此解决方案,例如,您要通过相同的字典查找传递大量字符串
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();