C# 用更改的数据替换字符串
我一直在研究加密和长话短说,我需要从字符串中删除xml标记 每个字符串都需要一个全局规则来替换该字符串,我已经研究了正则表达式,但它没有意义 这里有一些例子C# 用更改的数据替换字符串,c#,regex,string,replace,C#,Regex,String,Replace,我一直在研究加密和长话短说,我需要从字符串中删除xml标记 每个字符串都需要一个全局规则来替换该字符串,我已经研究了正则表达式,但它没有意义 这里有一些例子 <BitStrength>384</BitStrength> <BitStrength>1024</BitStrength> <BitStrength>12300</BitStrength> 384 1024 12300 我需要替换整个字符串和里面的数字,没有任
<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您可以关闭此问题,无进一步内容。管理员,您可以关闭此问题,无进一步内容。