检查字符是否为标记的c#方法

本文关键字:方法 字符 是否 检查 | 更新日期: 2023-09-27 17:48:56

如果给定字符是XML标记字符,在。net框架中是否有任何方法将返回true ?也就是说,字符'"<>_&和其他任何可能存在的字符之一。

我知道我也可以去一个简单的字符串搜索,但我想知道是否存在一个内置的方法,不依赖于手动输入字符。

检查字符是否为标记的c#方法

您可以结帐下面的知识库文章。

我不确定术语"XML标记字符"(或者更确切地说,用于检测这些内容的独立于上下文的函数)有多大意义,因为您列出的一些字符仅根据它们出现的上下文具有特殊含义(例如'",如果它们出现在标记之外,它们就是正常字符)。

除此之外,您还可以自己编写这样的函数:

bool IsMarkupCharacter(char ch)
{
    switch (ch)
    {
        case '''':
        case ''"':
        case '<':
        case '>':
        case '&':
            return true;
        default:
            return false;
    }
}

当然,您需要根据XML规范检查它是否真正完整。(顺便说一下,我没有把_包括在你的列表中;在任何方面,它都不是XML所特有的。)

您也可以使用以下代码

const string XMLCHARS = "''"''<>&";

if(XMLCHARS.Contains(c))
{
 --
}

可以使用扩展名

public static class CharExtension
{
    public static bool IsXmlMarkup(this char charecter)
    {
        if(charecter == '''' || charecter == ''"' || e.t.c) 
            return true;
        return false;
    }
}

然后直接使用

char c = '''';
var res = c.IsXmlMarkup();