zoukankan      html  css  js  c++  java
  • [C#]StringWriter实现的一个功能

    如何用一组双倍间距的句子创建一个连续的段落,然后将该段落重新转换为原来的文本:

    using System;
    using System.IO;

    class StringRW
    {
        static void Main()
        {
            string textReaderText = "TextReader is the abstract base " +
                "class of StreamReader and StringReader, which read " +
                "characters from streams and strings, respectively.\n\n" +

                "Create an instance of TextReader to open a text file " +
                "for reading a specified range of characters, or to " +
                "create a reader based on an existing stream.\n\n" +

                "You can also use an instance of TextReader to read " +
                "text from a custom backing store using the same " +
                "APIs you would use for a string or a stream.\n\n";

            Console.WriteLine("Original text:\n\n{0}", textReaderText);
            string aLine, aParagraph = null;
            StringReader strReader = new StringReader(textReaderText);
            while(true)
            {
                aLine = strReader.ReadLine();
                if(aLine != null)
                {
                    aParagraph = aParagraph + aLine + " ";
                }
                else
                {
                    aParagraph = aParagraph + "\n";
                    break;
                }
            }
            Console.WriteLine("Modified text:\n\n{0}", aParagraph);
            int intCharacter;
            char convertedCharacter;
            StringWriter strWriter = new StringWriter();
            strReader = new StringReader(aParagraph);
            while(true)
            {
                intCharacter = strReader.Read();
                 if(intCharacter == -1) break;
                 convertedCharacter = Convert.ToChar(intCharacter);
                if(convertedCharacter == '.')
                {
                    strWriter.Write(".\n\n");
                    strReader.Read();
                    strReader.Read();
                }
                else
                {
                    strWriter.Write(convertedCharacter);
                }
            }
            Console.WriteLine("\nOriginal text:\n\n{0}",
                strWriter.ToString());
        }
    }

  • 相关阅读:
    gdb调试
    大数据计算新贵Spark在腾讯雅虎优酷成功应用解析
    推荐系统resys小组线下活动见闻2009-08-22
    从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现
    Nexus设备升级5.0方法
    小议C#错误调试和异常处理
    BMP的图像处理
    一行代码让圆角风雨无阻,告别离屏渲染性能损耗
    推断数组中的反复元素
    HTML5:表格
  • 原文地址:https://www.cnblogs.com/goody9807/p/953715.html
Copyright © 2011-2022 走看看