Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用正则表达式删除特定空格_C#_Asp.net_Regex_String - Fatal编程技术网

C# 使用正则表达式删除特定空格

C# 使用正则表达式删除特定空格,c#,asp.net,regex,string,C#,Asp.net,Regex,String,我不是一个注册前小伙子,所以如果有人能帮我,我会非常感激 上面的链接对我没有帮助 然而似乎很接近 我有这根绳子 <tr class="trClass" > <td class="tdClss" > adasd <span class=classA > as da "sads "sd</span> </td> </tr> adasd 作为da“sads”sd 在上面的html字符串中有

我不是一个注册前小伙子,所以如果有人能帮我,我会非常感激

上面的链接对我没有帮助

然而似乎很接近

我有这根绳子

<tr class="trClass"    >  <td class="tdClss"  > adasd   
<span class=classA  >     as  da  "sads "sd</span> </td> </tr>
adasd
作为da“sads”sd
在上面的html字符串中有三个类

  • “trClass”
  • “tdClss”
  • 甲级
  • 类名后的空格未确定

    天气类别名称是否会被引用尚不确定

    我想删除>签名前的空格

    什么正则表达式将匹配此条件?


    我的代码

     public static string Flatten(string inputString)
        {
            // remove line breaks
            string rawInput = inputString.RemoveLineBreaks().Trim();
    
            string filteredInput = Regex.Match(rawInput, "<tr.+?>.*</tr>").ToString();
    
            if (filteredInput.IsNotNullOrEmpty())
            {
                // remove space between end and start tags
                filteredInput = Regex.Replace(filteredInput, ">.+?<", delegate(Match match)
                    {
                        string v = match.ToString();
                        return ">" + v.Substring(1, v.Length - 2).Trim() + "<";
                    });
    
                // remove space between attribute and closing tags
                filteredInput = Regex.Replace(filteredInput, "\t>", delegate(Match match)
                {
                    //string v = match.ToString();
                    return ">";
                });
    
    
                return filteredInput;
            }
            else
            {
                return "Invalid HTML Table Row!";
            }
    
        }
    
    公共静态字符串展平(字符串输入字符串)
    {
    //删除换行符
    string rawInput=inputString.RemoveLineBreaks().Trim();
    字符串filteredInput=Regex.Match(rawInput,“.*”).ToString();
    if(filteredInput.IsNotNullOrEmpty())
    {
    //删除结束标记和开始标记之间的空间
    filteredInput=Regex.Replace(filteredInput,“>。+?”+v.Substring(1,v.Length-2)。Trim()+”,委托(匹配)
    {
    //字符串v=match.ToString();
    返回“>”;
    });
    返回过滤器输入;
    }
    其他的
    {
    返回“无效的HTML表格行!”;
    }
    }
    
    根据您发布的内容,模式将符合您指定的条件。换句话说,您正在查找一个或多个空格(
    +
    ),后面是一个闭合角括号(
    )。您可以使用
    Regex.Replace
    调用并传递
    作为该模式的替换


    预先警告:使用正则表达式操纵HTML可能是危险的。如果您的字符串中有任何未编码的
    ,那么它可能仍然与上述模式匹配。对于上面显示的内容,我怀疑您不会有问题。

    如果您只需将其加载到一个应用程序中,它将为您解决此问题

    var test = XDocument.Parse("<tr class=\"trClass\"    >  <td class=\"tdClss\"  > adasd   <span class=\"classA\"  >     as  da  \"sads \"sd</span> </td> </tr>");
    Console.WriteLine(test);
    
    var test=XDocument.Parse(“adasd作为da\'sads\'sd”);
    控制台写入线(测试);
    
    您不需要使用正则表达式。这将为您提供以下信息:

    <tr class="trClass">
        <td class="tdClss"> adasd   <span class="classA">     as  da  "sads "sd</span></td>
    </tr>
    
    
    adasd作为da“sads”sd
    
    您说有一个链接很接近。有多近?你目前用来做这件事的代码在哪里?只需要知道什么正则表达式会符合这个条件?只需要看看除了使用Google之外,你自己在解决这个问题上做了什么。好的。。我会把我的信寄出去code@bilalfazlani啊哈。。你只需要习惯它。尤其是当你发布一个信息不完整的问题时+1.减轻你的负担。:)