Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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#_String_Replace_Find - Fatal编程技术网

C# 查找/替换字符串时遇到的问题

C# 查找/替换字符串时遇到的问题,c#,string,replace,find,C#,String,Replace,Find,我在查找/替换字符串中的值时遇到一些问题。我不知道我是应该用正则表达式还是C#有一些漂亮的特性让它工作。Regex给了我头像 问题是: <doc name="tester" value="p1,p2,p3" /> 所以我想要“值”(p1,p2,p3)并用当前值+“,p4”替换它 任何帮助都会收到。尽管您会对正则表达式感到头痛,但使用以下正则表达式实际上非常简单: @"(?<=value=\"")[^""]+" 编辑: 当然,您可以通过调用以下命令捕获原始内容: stri

我在查找/替换字符串中的值时遇到一些问题。我不知道我是应该用正则表达式还是C#有一些漂亮的特性让它工作。Regex给了我头像

问题是:

<doc name="tester" value="p1,p2,p3" />

所以我想要“值”(p1,p2,p3)并用当前值+“,p4”替换它


任何帮助都会收到。

尽管您会对正则表达式感到头痛,但使用以下正则表达式实际上非常简单:

@"(?<=value=\"")[^""]+"
编辑: 当然,您可以通过调用以下命令捕获原始内容:

string match = regex.Match(test).Value;

这看起来像XML或可能是HTML,您应该使用一个库来解析这些值(内置的XML工具到.NET Framework或HTML使用HtmlAgilityPack)您可以显示您想要的开始行和结束行吗请,我不明白您的解释您提到的Regex“让我头痛”。到目前为止,您尝试了什么?您还不清楚自己的要求:您只想为带有
name=“tester”
的“doc”标记添加“p4”,或者为每个属性添加
value=“p1,p2,p3”
?如果有一个
,它应该变成
?@maccettura。看起来像……但不是。看起来,很好。但我能“捕获”实际价值吗?我现在不知道实际值是什么…只是这是我必须获取的值,然后添加“p4”。谢谢。出于某种原因,我无法将match转换为字符串…但使用了match.Value…而且效果非常好!然后在RegEx.replace中,我使用了连接的Match.Value+“,p4”。对不起,输入错误,已经修复。
string match = regex.Match(test).Value;