【问题标题】:Capitalizing strings in C# containing html escape charactersC#中包含html转义字符的字符串大写
【发布时间】:2019-03-29 14:38:05
【问题描述】:

我正在尝试为某些可能包含 html 转义字符的文本命名。除了使用正则表达式之外,还有其他方法吗?下面是一些示例代码:

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");


            string input = "B&G fried pie";
            string output = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(input.ToLowerInvariant());

            Console.WriteLine(output);  //Should be B&G Fried Pie
            Console.ReadKey();

        }
    }
}

我能想到的另一种方法是替换&用&,做我的标题,然后用&amp替换&

【问题讨论】:

  • HtmlDecode(“html unescape”,可以这么说)字符串,大写,HtmlEncode返回...

标签: c# string capitalization html-escape-characters


【解决方案1】:

您可以使用 System.Web.HttpUtility 类对 html 字符串进行解码和编码,因此您的代码将如下所示:

private static string ToTitleCase(string input)
{
    return input == null
        ? null
        : HttpUtility.HtmlEncode(CultureInfo.InvariantCulture.TextInfo
            .ToTitleCase(HttpUtility.HtmlDecode(input.ToLowerInvariant())));
}

在使用中它看起来像:

Console.WriteLine(ToTitleCase("B&G fried pie"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-27
    • 2021-07-07
    • 2022-11-30
    • 2013-10-24
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    相关资源
    最近更新 更多