C# C语言中的字符串处理#

C# C语言中的字符串处理#,c#,parsing,C#,Parsing,我为一个文本文件开发了控制台应用程序C#,其中包含一些字符和许多行 °第四章[A1城2]/(N)阿城(黑龙江省城市)/ °n¨a¨196¨a¨203¨1[A1-duo1-ni2-si1]/Adonis/ 阿尔巴尼亚/ 阿尔巴尼亚语(人)/ °β∗·[a1 er3 fa4]/α/ °、¼°ú[A1 er3 ji2 er3]/Al 我希望将[]和之间的字符写入另一个具有新行的文本文件。我不知道如何用C语言实现。 我到现在为止所尝试的都不起作用。 ''' 您需要使用一些C#string方法和文件流类

我为一个文本文件开发了控制台应用程序C#,其中包含一些字符和许多行

°第四章[A1城2]/(N)阿城(黑龙江省城市)/

°n¨a¨196¨a¨203¨1[A1-duo1-ni2-si1]/Adonis/

阿尔巴尼亚/

阿尔巴尼亚语(人)/

°β∗·[a1 er3 fa4]/α/

°、¼°ú[A1 er3 ji2 er3]/Al

我希望将[]和之间的字符写入另一个具有新行的文本文件。我不知道如何用C语言实现。 我到现在为止所尝试的都不起作用。 '''


您需要使用一些C#string方法和文件流类

  • 子字符串以分隔具有[]的字符串
  • IndexOf是获取[或]字符的索引
  • FileStream将数据写入文件
查看下面的C代码


到目前为止,您尝试了什么?是的,感谢它的工作,刚刚添加到stringToFile。\n输出是正确的,这确实是需要的。:)
     static void Main(string[] args)
    {
        string textFile = "input.txt";
        string[] lines = File.ReadAllLines(textFile);

        foreach (string line in lines)
        { 



        String[] spearator = { "[ ","]", "/" };
        Int32 count = 3;

        String[] strlist =line.Split(spearator, count,
               StringSplitOptions.RemoveEmptyEntries);

        foreach (String s in strlist)
        {
            Console.WriteLine(s);
        }
    }
string[] stringArray = { "°¢³Ç [A1 cheng2] /(N) Acheng (city in Heilongjiang)",
                        " °¢¶àÄá˹ [A1 duo1 ni2 si1] /Adonis/",
                        "°¢¶û°ÍÄáÑÇ[A1 er3 ba1 ni2 ya4] /Albania/",
                        "°¢¶û°ÍÄáÑÇÈË[A1 er3 ba1 ni2 ya4 ren2] /Albanian(person)/",
                        "°¢¶û·¨ [a1 er3 fa4] /alpha/",
                        "°¢¶û¼°¶û[A1 er3 ji2 er3] /Al"
                            };

        using (var fileStream = new FileStream("stringToFile.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite))
        {
            foreach (var dataItem in stringArray)
            {
                var firstIndex = dataItem.IndexOf("[");
                var stringFirst = dataItem.Substring(firstIndex + 1);
                var lastIndex = stringFirst.IndexOf("]");
                var stringToFile = stringFirst.Substring(0, lastIndex);
                byte[] bytes = Encoding.UTF8.GetBytes(stringToFile);

                fileStream.Write(bytes, 0, bytes.Length);
            }
            fileStream.Close();
        }