C# 需要使用正则表达式删除两个标记之间的空白
我有一点XML,我想去掉外部空白。作为前言:输出不是格式良好的xml,这是我要处理的专有规范 样本为:C# 需要使用正则表达式删除两个标记之间的空白,c#,regex,C#,Regex,我有一点XML,我想去掉外部空白。作为前言:输出不是格式良好的xml,这是我要处理的专有规范 样本为: <mattext> <span>A</span> <span>more text</span> </mattext> A. 更多文本 我需要的是: <mattext><span>A</span> <span>more text</span>&l
<mattext>
<span>A</span>
<span>more text</span>
</mattext>
A.
更多文本
我需要的是:
<mattext><span>A</span>
<span>more text</span></mattext>
A
更多文本
打开的
和内部内容的第一位之间的所有空白都消失了,关闭的
也是如此
我试过:
var output = Regex.Replace(input, @"<mattext>*<", "<mattext>",
RegexOptions.Multiline);
var output=Regex.Replace(input,@“*它不是空白,它是\r\n或者两者都是\r\n它不是空白,它是\r\n或者两者都是\r\n尝试使用:
var output = Regex.Replace(input, @"(?<=<mattext>)\s*|\s*(?=</mattext>)", "");
var output=Regex.Replace(输入,@)(?尝试使用:
var output = Regex.Replace(input, @"(?<=<mattext>)\s*|\s*(?=</mattext>)", "");
var-output=Regex.Replace(输入,@)(?var-output=Regex.Replace(输入,@“\s*var-output=Regex.Replace(输入,@”\s*类似于@Jerry的答案,带有额外的防护装置,以确保
在输入的开始处,
在输入的结束处
Regex.Replace(input,
@"(?:(?<=^\<mattext\>)[^\<]*)|(?:[^\>]*(?=\</mattext\>$))",
string.Empty,
RegexOptions.Multiline);
Regex.Replace(输入,
@“(?:(?类似于@Jerry的回答,带有额外的保护,以确保
位于输入的开始,而
位于输入的结束
Regex.Replace(input,
@"(?:(?<=^\<mattext\>)[^\<]*)|(?:[^\>]*(?=\</mattext\>$))",
string.Empty,
RegexOptions.Multiline);
Regex.Replace(输入,
@"(?:(?不仅仅如此。简单的\r\n替换会留下相当多的空白。好的,那么源不在您的控制范围内,是吗?可能的重复:不仅仅如此。简单的\r\n替换会留下相当多的空白。好的,那么源不在您的控制范围内,是吗?可能的重复:这似乎是最直接的方法这似乎是处理我特殊需要的最直接的方法。