问题描述
部分XML中因为解析XML的时候xml.InnerText中有错误而无法解析,所以想将Text中的前后空字符去掉</AirportDetail><AirportDetail><CityCode='SAMO'><![CDATA[SamosCity]]></City><AirportCode='SMI'><![CDATA[Samos萨摩斯岛]]>例如:<![CDATA[Samostest萨摩斯岛]]>------》:<![CDATA[Samostest萨摩斯岛]]>只是去掉前后字符目前解决方案:string[]arr=xml.split('>');foreach(stringstrinarr){if(str.IndexOf('<![CDATA[')>-1){//然后再去掉前后空格字符,请问有什么简单的方法一次搞定呢?//或者给小弟提供个正则,谢谢~~~}}//http://topic.csdn.net/u/20071024/11/9b703154-16ab-46cc-ab51-b7e0f0e8e80a.html上一帖地址publicstringReplaceLabel(str){returnRegex.Replace(str,@"<![CDATA[[^[]]*]]s*>","",RegexOptions.IgnoreCase);}:<![CDATA[Samostest萨摩斯岛]]>---》:<![CDATA[Samostest萨摩斯岛]]>是要去掉文字中前后的空格
解决方案
解决方案二:
空格?用split("")不是可以除掉了吗?
解决方案三:
鼎
解决方案四:
publicstringReplaceLabel(stringstr){returnRegex.Replace(str,@"(?<left><![CDATA[)(?<s>[^[]]*)(?<right>]]s*>)",newMatchEvaluator(change),RegexOptions.IgnoreCase);}publicstringchange(matchm){returnm.Groups["left"]+Regex.Replace(m.Groups["s"],@"s{2,}","",RegexOptions.IgnoreCase)+m.Groups["right"];}
解决方案五:
委托里的改成returnm.Groups["left"]+Regex.Replace(m.Groups["s"],@"s{2,}","",RegexOptions.IgnoreCase)+m.Groups["right"];
解决方案六:
帮顶!!
解决方案七:
帮顶
解决方案八:
学习了。