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

C# 前导尾随空间删除

C# 前导尾随空间删除,c#,regex,C#,Regex,我正在从包含以下内容的文本文件中读取内容 测试数据测试数据表单数据 我的要求是,无论我在ID、Sub_标签中有什么,我都希望从这些标签中的内容中去掉尾随和前导空格,但是表单标签中的内容应该保持不变。我的输出应该是: 测试数据测试数据表单数据 尝试使用许多模式,但都不起作用 Regex regex = new Regex(@"/>[ \t]+</"); string newContent = regex.Replace(fileContent, "><"); Rege

我正在从包含以下内容的文本文件中读取内容

测试数据测试数据表单数据
我的要求是,无论我在ID、Sub_标签中有什么,我都希望从这些标签中的内容中去掉尾随和前导空格,但是表单标签中的内容应该保持不变。我的输出应该是:

测试数据测试数据表单数据
尝试使用许多模式,但都不起作用

Regex regex = new Regex(@"/>[ \t]+</");
string newContent = regex.Replace(fileContent, "><");

Regex Regex=new Regex(@”/>
无论如何,使用正则表达式可以很容易地做到这一点。但目前,我对正则表达式并不熟悉。
这就是我对你问题的解决方案,它来了

string input=“测试数据测试数据表单数据”;
字符串find=“ƸƷ”;
//ƸƷ-如果您的输入字符串中有这两个字符,那么这将不起作用。
//这些字符(ƸƷ)可以替换为任何唯一的字符串
//要工作,该字符串不应包含在输入字符串中
//或者它会弄乱替换功能。这可以不使用
//这些字符。但是它可能需要更多的编码。所以,我要用这个。
字符串str=输入;
IListstrList=新列表();
//删除表单标记内的所有内容
while(true){
如果((str.Contains(“”)和&(str.Contains(“”)){
int start=str.IndexOf(“”);
int end=str.IndexOf(“”);
string result=str.Substring(start,end-start+7);//7=”“.Length
str=str.Replace(结果,查找);
strList.Add(结果);
}否则{
打破
}
}
//操纵数据
str=str.Replace(“”);
//在表单标记中添加内容
foreach(strList中的字符串val){
int place=str.IndexOf(find);
str=str.Remove(place,find.Length)。Insert(place,val);
}
Console.WriteLine(“输入字符串:”+Input);
Console.WriteLine(“输出字符串:+str”);
例01

测试数据测试数据表单数据
测试数据测试数据表单数据
例02

测试数据测试数据表单数据
测试数据测试数据表单数据
例03

测试数据日期测试数据表单数据
测试数据日期测试数据表单数据

在线演示:

强制性的“如果这是XML,请使用XML解析器”注释。Regex绝对是错误的工具。请使用XML解析器和XPath。此处,
//id/text()|//sub_tab/text()
这看起来像一个XML字符串。用正则表达式解析XML并不容易。请改用XML解析器。顺便说一句,XML是区分大小写的。XML字符串中不能有
s=regex.Replace(regex.Replace(s,@“\s+()”,“$1”),@“\s+”,“$1”)
。甚至
regex.Replace(s,@“\s+”,“$1$2”)
@UmeshKumar-XML也是一个带有标记的文本文件。如果示例文件不太长,您能否发布一个示例文件。如果它遵循XML格式,那么您肯定需要解析器。