c# - 在 C# 中拆分不带分隔符的字符串

标签 c# string

首先,祝大家有美好的一天。

请原谅我的英语不好。

我有一个问题,我想制作我的第一个自己的程序,这个程序应该有以下任务:

你有这个哈希值的例子:

9f73c507603e62c48926eb37f0f19f46

程序应该将其转换为:

“9”,“c”,“8”,“e”,“d”,“1”,“5”,“d”,“0”,“b”,“e”,“b” ,"e","5","c","1","2","6","f","2","3","3","9","5","b","f","8","0","4","8","d","8"

我不会在没有自己搜索和尝试的情况下询问,但请记住我仍然是初学者,我的“解决方案”是这样的:

namespace Hash_Checker
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter Your Hashsum.");
            string myhash = Console.ReadLine();
            string[] words = myhash.Split(' ');
            Console.WriteLine("Modified Hashsum:");
            foreach (var word in words)
            {

                System.Console.Write($"\"{word}\", ");
            }
            Console.ReadKey();
        }
    }
}

忽略可能不好的形式,稍后我会尝试写得更好。

我的 2 个问题是:

您必须像这样输入哈希值:

9 f 7 3 c 5 0 7 6 0 3 e 6 2 c 4 8 9 2 6 e b 3 7 f 0 f 1 9 f 4 6

带有分隔符,但我希望您可以在没有分隔符的情况下输入它,如下所示:

9f73c507603e62c48926eb37f0f19f46

但是当你这样做时,它会以以下输出结束:

“9f73c507603e62c48926eb37f0f19f46”,

第二个问题:

我的程序在最后一个数字后添加一个“,”,但我不希望这样。

示例:

应该是:

“9”,“c”,“8”,“e”,“d”,“1”,“5”,“d”,“0”,“b”,“e”,“b” ,"e","5","c","1","2","6","f","2","3","3","9","5","b","f","8","0","4","8","d","8"

但事实是:

“9”、“c”、“8”、“e”、“d”、“1”、“5”、“d”、“0”、“b”、“e”、“b” 、“e”、“5”、“c”、“1”、“2”、“6”、“f”、“2”、“3”、“3”、“9”、“5”、“b", "f", "8", "0", "4", "8", "d", "8",

最后一个 , 应该被删除。

有人可以给我建议或解决方案吗? 或者对于初学者来说有点难?

感谢您的帮助!

最佳答案

实现此目的的一种(多种)方法是从输入中读取字符串,从字符串中选择每个字符并使用 LINQ 将其用引号引起来,然后将每个字符串与 string 连接起来。 Join()如下:

namespace Hash_Checker
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter Your Hashsum.");
            var input = Console.ReadLine();

            //select each character from the string and turn 
            //each into a string that looks like "<character here>"
            var characters = input.Select(x => string.Format("\"{0}\"", x));

            //place comma in between each string containing "<character here>"
            var formattedString = string.Join(",", characters);

            System.Console.Write(formattedString);
            Console.ReadKey();
        }
    }
}

关于c# - 在 C# 中拆分不带分隔符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893327/

相关文章:

c# - MSTEST 中的 DataTestMethod 和 DataRow 属性

c# - WPF Gmap.NET 添加大量标记

ruby - 如何在不将换行符插入字符串的情况下使用 'puts' 添加额外的换行符?

c# - 使用 "Start Debugging"和 "Start Without Debugging"启动应用程序时的不同堆栈跟踪

c# - 指定的 blob 不存在——即使 bob 确实存在

java - Sha1 哈希字符串在 mysql 中正确编码,但显示为 Java 字符串

php - 替换字符串 PHP 中最后一次出现的至少双倍换行符 (\n\n)

python - 如何 'marry' python中的两个字符串?

python - 从字符串中删除多个字符(形成一个单词)

c# - 组合框 C# 中没有显示任何内容