小编dll*_*l32的帖子

用Regex.Replace替换String.Replace

:

private string Check_long(string input)
{
    input = input.Replace("cool", "supercool");
    input = input.Replace("cool1", "supercool1");
    input = input.Replace("cool2", "supercool2");
    input = input.Replace("cool3", "supercool3");
    return input;
}
Run Code Online (Sandbox Code Playgroud)

:

private string Check_short(string input)
{    
    input = Regex.Replace(input, "cool", "supercool", RegexOptions.IgnoreCase);
    input = Regex.Replace(input, "cool1", "supercool1", RegexOptions.IgnoreCase);
    input = Regex.Replace(input, "cool2", "supercool2", RegexOptions.IgnoreCase);
    input = Regex.Replace(input, "cool3", "supercool3", RegexOptions.IgnoreCase);
    return input;
}
Run Code Online (Sandbox Code Playgroud)

旧的解决方案String.Replace工作得很好.但它不支持不区分大小写.所以我必须检查Regex.Replace,但现在它将无法正常工作.这是为什么 ?

.net c# regex string replace

7
推荐指数
2
解决办法
3万
查看次数

读取xml文件时出现问题

我在阅读和处理xml文件时遇到问题,我现在无法解决.xml具有以下结构:

<root>
  <test id="1">
    <a></a>
    <b></b>
    <c></c>
  </test>
  <test id="2">
    <a></a>
    <b></b>
    <c></c>
  </test>
  <test id="3">
    <a></a>
    <b></b>
    <c></c>
  </test>
</root>



XmlDocument Doc; int currentid=1; 


XmlNode currentlyselectedtestnode =
Doc.SelectNodes("//test[@id = '" +
currentid.ToString() + "']");

string a = currentlyselectedtestnode.SelectSingleNode("//a");    
string b = currentlyselectedtestnode.SelectSingleNode("//b");   
string c = currentlyselectedtestnode.SelectSingleNode("//c");
Run Code Online (Sandbox Code Playgroud)

不幸的是,"currentselectedtestnode.SelectSingleNode("// a")"将读出所有"a"节点,而不仅仅是属于id为1的测试节点的节点.为什么?!不知怎的,当前选择了testnode.SelectSingleNode("// a"); 就像我写了Doc.SelectSingleNode("// a")一样工作;

怎么会 ?!我怎样才能让它只读取特定测试节点的子节点?ectedtestnode.SelectSingleNode("// c");

c# xml asp.net

1
推荐指数
1
解决办法
247
查看次数

标签 统计

c# ×2

.net ×1

asp.net ×1

regex ×1

replace ×1

string ×1

xml ×1