我正在尝试对某些可能包含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();
}
}
}
我想到的另一种方法是替换&
;与&
一起使用,做我的标题,然后将&
替换为&
。
答案 0 :(得分: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"));