C# 用更改的数据替换字符串

C# 用更改的数据替换字符串,c#,regex,string,replace,C#,Regex,String,Replace,我一直在研究加密和长话短说,我需要从字符串中删除xml标记 每个字符串都需要一个全局规则来替换该字符串,我已经研究了正则表达式,但它没有意义 这里有一些例子 <BitStrength>384</BitStrength> <BitStrength>1024</BitStrength> <BitStrength>12300</BitStrength> 384 1024 12300 我需要替换整个字符串和里面的数字,没有任

我一直在研究加密和长话短说,我需要从字符串中删除xml标记

每个字符串都需要一个全局规则来替换该字符串,我已经研究了正则表达式,但它没有意义

这里有一些例子

<BitStrength>384</BitStrength>

<BitStrength>1024</BitStrength>

<BitStrength>12300</BitStrength>
384
1024
12300
我需要替换整个字符串和里面的数字,没有任何内容。 我试过这样的方法:

string.replace("<BitStrength>12300</BitStrength>","");
string.replace(“12300”和“”);
但问题是数字的长度和字符,而且永远找不到匹配项。 有人有解决办法吗?也许regex是个好办法

PS.最好是C#中的溶液

编辑:我正在寻找一种解决方案,不仅在这种示例中替换整个字符串,而且在一般情况下替换字符串

<BitStrength>4633</BitStrength>
<BitStrength>336</BitStrength>
!!SomeConstantData!!5437!!EndConstant!!
I would like 2 eggs today.
I would like 17 eggs today.
I would like 258367 eggs today.
4633
336
!!一些恒常数据!!5437!!结束常数!!
我今天想要两个鸡蛋。
我今天想要17个鸡蛋。
今天我想要258367个鸡蛋。
现在,如果我把
string.replace(“我想要”,“今天的鸡蛋”)放到
string.replace(“我想要”,“今天的鸡蛋”)
我会留下258367号,因为我的声明中没有涉及到这一点。我正在寻找删除此数据的解决方案。它可以是任何值

在我的特定示例中,我希望替换
384codecode
中的
384

我面临的问题是,bitstrength标记之间的数字可以是386到16384之间的任何数字,我需要删除整个bitstrength字符串。

您没有显示您尝试过的内容,我想知道失败是否是因为您没有使用前面的
@
将模式字符串作为文本

此示例适用于:

Regex.Replace(@"Blah<BitStrength>12300</BitStrength>Blah", 
              @"(\<BitStrength\>12300\</BitStrength\>)", 
              string.Empty)
Regex.Replace(@“blah1230blah”,
@"(\12300\)", 
字符串(空)
返回

布拉布拉赫

如果实际数量无关紧要,请使用此模式:

(\<BitStrength\>\d+\</BitStrength\>)
(\\d+\)

您没有显示您尝试过的内容,我想知道失败是否是因为您没有使用前面的
@
将模式字符串作为文本

此示例适用于:

Regex.Replace(@"Blah<BitStrength>12300</BitStrength>Blah", 
              @"(\<BitStrength\>12300\</BitStrength\>)", 
              string.Empty)
Regex.Replace(@“blah1230blah”,
@"(\12300\)", 
字符串(空)
返回

布拉布拉赫

如果实际数量无关紧要,请使用此模式:

(\<BitStrength\>\d+\</BitStrength\>)
(\\d+\)
这项工作:

 var source = string.Join(Environment.NewLine, 
                          "<BitStrength>384</BitStrength>", 
                          "<BitStrength>1024</BitStrength>", 
                          "<BitStrength>12300</BitStrength>");

 var result = source.Replace("<BitStrength>12300</BitStrength>", string.Empty);
var source=string.Join(Environment.NewLine,
"384", 
"1024", 
"12300");
var result=source.Replace(“12300”,string.Empty);
这项工作:

 var source = string.Join(Environment.NewLine, 
                          "<BitStrength>384</BitStrength>", 
                          "<BitStrength>1024</BitStrength>", 
                          "<BitStrength>12300</BitStrength>");

 var result = source.Replace("<BitStrength>12300</BitStrength>", string.Empty);
var source=string.Join(Environment.NewLine,
"384", 
"1024", 
"12300");
var result=source.Replace(“12300”,string.Empty);
string input=“384”;
字符串模式=@“\d*”;
字符串替换=”;
正则表达式rgx=新正则表达式(模式);
字符串结果=rgx.Replace(输入,替换);
WriteLine(“原始字符串:{0}”,输入);
WriteLine(“替换字符串:{0}”,结果);
返回

Original String: <BitStrength>384</BitStrength>
Replacement String:  
原始字符串:384
替换字符串:
string input=“384”;
字符串模式=@“\d*”;
字符串替换=”;
正则表达式rgx=新正则表达式(模式);
字符串结果=rgx.Replace(输入,替换);
WriteLine(“原始字符串:{0}”,输入);
WriteLine(“替换字符串:{0}”,结果);
返回

Original String: <BitStrength>384</BitStrength>
Replacement String:  
原始字符串:384
替换字符串:

你应该使用XML解析器。我可以,但那就像用死亡机器射杀兔子一样。我需要一个简单的解决方案,比如正则表达式,还有人来理解它。我可以使用xml解析器,但就像我说的,兔子,死亡机器。
XElement
非常简单。@CausticLasagne:我更愿意称之为适合这项工作的工具。正则表达式的问题在于它们是一个相当混乱的解决方案。您可以尝试类似
[^请显示一些输入和所需的输出。你应该使用XML解析器。我可以,但这就像用死亡机器射杀兔子一样。我需要一个简单的解决方案,比如正则表达式,并有人能理解它。我可以使用XML解析器,但就像我说的,兔子,死亡机器。
XElement
非常简单。@Ca乌斯蒂克拉萨涅:我宁愿称之为这项工作的正确工具。正则表达式的问题是它们是一个相当混乱的解决方案。你可以尝试一些类似
[^请显示两个输入和所需的输出我尝试了该代码,但无效。数字字符和长度无关紧要,整个字符串必须保留,但数字不断变化。我尝试了该代码,但无效。数字字符和长度无关紧要,整个字符串必须保留,但数字不断变化。管理员,y您可以关闭此问题,无进一步内容。管理员,您可以关闭此问题,无进一步内容。