zoukankan      html  css  js  c++  java
  • 代码练习:简单的纯文本转HTML

    谁能写一个函数,实现如下功能,不需要调试一次就通过,且没有BUG。需求:输入:"ab\r\ncde\r\nfghi"输出:"<p>ab</p><p>cde</p><p>fghi</p>",注意无论任何输出<p>和</p>都要配对出现,且<p>和</p>之间不能为空

    public static string Text2HtmlSimple(string input)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<p>");
        int index = 0;
        do
        {
            string toAppend = string.Empty;
            int pos = input.IndexOf("\r\n", index);
            if (pos == 0)
            {
                index = pos + 2;
            }
            else if (pos == input.Length - 2)
            {
                toAppend = input.Substring(index, pos - index);
                if (!string.IsNullOrEmpty(toAppend))
                {
                    sb.AppendFormat("{0}</p>", toAppend);
                }
                index = pos + 2;
            }
            else if (pos > 0)
            {
                toAppend = input.Substring(index, pos - index);
                if (!string.IsNullOrEmpty(toAppend))
                {
                    sb.AppendFormat("{0}</p><p>", toAppend);
                }
                index = pos + 2;
            }
            else
            {
                toAppend = input.Substring(index, input.Length - index);
                sb.AppendFormat("{0}</p>", toAppend);
                break;
            }
        }
        while (index < input.Length);
        return sb.ToString();
    }
    

  • 相关阅读:
    匿名函数 sorted() filter() map() 递归函数
    内置函数
    生成器
    迭代器
    函数
    Linux系统及lvm知识
    nginx设置成开机自动启动服务
    cinder介绍及使用lvm本地存储
    docker私有仓库的搭建
    工作中涉及运维知识点的汇总
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/1847280.html
Copyright © 2011-2022 走看看