首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#从XML中删除字符串

c#从XML中删除字符串
EN

Stack Overflow用户
提问于 2014-04-10 10:24:33
回答 6查看 1.3K关注 0票数 0

我有一个xml,它有几个属性和值,如下所示:

代码语言:javascript
复制
<z:row ID="1"
       Author="2;#Bruce, Banner"
       Editor="1;#Bruce, Banner"
       FileRef="1;#Reports/Pipeline Tracker Report.xltm" 
       FileDirRef="1;#Reports" 
       Last_x0020_Modified="1;#2014-04-04 12:05:56" 
       Created_x0020_Date="1;#2014-04-04 11:36:21" 
       File_x0020_Size="1;#311815" 
/>

如何从“向上到#”之后移除字符串?

原创

“Author=”2;#Bruce,Banner“”

转换成

‘Author=’布鲁斯,旗帜‘’

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-04-10 10:48:29

您可以使用简单的正则表达式:

代码语言:javascript
复制
string s = @"<z:row ID=""1""
   Author=""2;#Bruce, Banner""
   Editor=""1;#Bruce, Banner""
   FileRef=""1;#Reports/Pipeline Tracker Report.xltm"" 
   FileDirRef=""1;#Reports"" 
   Last_x0020_Modified=""1;#2014-04-04 12:05:56"" 
   Created_x0020_Date=""1;#2014-04-04 11:36:21"" 
   File_x0020_Size=""1;#311815""
    />";

string result = Regex.Replace(s,"\"([0-9];#)","");
票数 -2
EN

Stack Overflow用户

发布于 2014-04-10 10:33:51

看看这个有用吗。

代码语言:javascript
复制
private string FilterValue(string input)
{
    // If the string does not contain #, return value
    if (!input.Contains("#"))
        return input;

    // # does exist in the string so 
    // 1) find its location
    // 2) Read everything from that point to the end of the string
    // 3) Return the SubString value
    var index = input.IndexOf("#", StringComparison.Ordinal) + 1;
    return input.Substring(index, input.Length - index);
}
票数 3
EN

Stack Overflow用户

发布于 2014-04-10 10:33:55

像这样吗?

代码语言:javascript
复制
// same logic then M Patel.
// This one will fit only if you have three items to remove (one digit, one semi-colon and one sharp).
// use M Patel solution
string CleanElement(string elem)
{
    return elem.Substring(3, elem.Length - 3);
}

或者像这样:

代码语言:javascript
复制
// slower I guess but still a solution
string CleanElement(string elem)
{
     string[] strs = elem.Split('#');
     strs[0] = "";
     return string.Join("", strs);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22985292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档