C# 更换'\par';在C中使用正则表达式#
我想将C# 更换'\par';在C中使用正则表达式#,c#,.net,regex,C#,.net,Regex,我想将\par从C中的变量替换为空字符串。 假设变量内容为: 这是一个测试\参数和\par test\par test\para 我希望输出为: 这是一个测试\参数和测试\段落 有人能帮我用正则表达式来做这个吗? 我尝试使用\b获取确切的单词,但由于它涉及转义序列,因此我得到了一个错误。最简单的方法是使用: using System.Text.RegularExpressions; string input = @"\par test\par test\para"; str
\par
从C
中的变量替换为空字符串。
假设变量内容为:
这是一个测试\参数和\par test\par test\para
我希望输出为:
这是一个测试\参数和测试\段落
有人能帮我用正则表达式来做这个吗?
我尝试使用
\b
获取确切的单词,但由于它涉及转义序列,因此我得到了一个错误。最简单的方法是使用:
using System.Text.RegularExpressions;
string input = @"\par test\par test\para";
string result = input.Replace(@"\par "," ");
string output= @"this is a test \parameter and \par test\par test\para".Replace(@" \par ", " ").Replace(@"\par ", " ");
使用Regex,这可能会帮助您:
string input = @"\b( \\par |\\par )\b";
var replaced = Regex.Replace(@"this is a test \parameter and \par test\par test\para", input, @" ");
“我试过……”。让我们看看你到底试了什么不清楚你在问什么。。。字符串
\par
在该字符串中存在4次。你过滤它的具体标准是什么?这看起来很像一个正则表达式问题,与C#@FabianH没有太大关系。除非\par
后面有标点符号。比约恩,我相信\b
是用在普通字符串文字中的。如果该问题与逐字字符串文字一起使用,则该问题将成为一个打字错误的离题问题@“\\par\b”
或@“\s*\\par\b”
是正确答案。这是不正确的。如果\par
后面有标点符号,它将不起作用。如果您使用的是字符串.Replace,为什么要声明RegularExpressions命名空间?如果实际代码甚至不使用正则表达式,为什么要使用System.Text.RegularExpressions
;要替换的搜索字符串以空格结尾。正如Wiktor指出的,如果有标点符号,它就不起作用mark@user2813853正如我在最初的评论中指出的那样,您实际上从未指定过您的标准。