返回首页

我有麻烦分裂字符串在C#有一个字符串

start and dffdfdddddddfd<m>one</m><m>two</m><m>three</m><m>four</m>dbfjnbjvbnvbnjvbnv and end

和我要提取文本之间的LT; MGT;和lt ;/ MGT;我需要3输出:

输出1:一二三四

输出2:

输出3:


我该怎么办?
我该怎么办呢?
请给我一个示例代码
请帮助。
感谢和问候。| mehrdad1991h

回答

评论会员:游客 时间:2012/02/06
使用正则表达式:{C}codeprelang="cs"spanclass="code-comment"///spanspanclass="code-comment"usingSystem.Text.RegularExpressions;/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"RegularexpressionbuiltforC#on:Sun,Oct9,2011,07:37:07AM/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"UsingExpressoVersion:3.0.3634,http://www.ultrapico.com/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Adescriptionoftheregularexpression:/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Matchaprefixbutexcludeitfromthecapture.[\spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"m\/spanspanclass="code-SummaryComment">/span]/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"\spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"m\/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Literalspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"m/spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"Literal/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"AnycharacterthatisNOTinthisclass:[\spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"],/spanspanclass="code-SummaryComment"one/spanspanclass="code-SummaryComment"or/spanspanclass="code-SummaryComment"more/spanspanclass="code-SummaryComment"repetitions/spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"Match/spanspanclass="code-SummaryComment"a/spanspanclass="code-SummaryComment"suffix/spanspanclass="code-SummaryComment"but/spanspanclass="code-SummaryComment"exclude/spanspanclass="code-SummaryComment"it/spanspanclass="code-SummaryComment"from/spanspanclass="code-SummaryComment"the/spanspanclass="code-SummaryComment"capture./spanspanclass="code-SummaryComment"[\</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"m\/spanspanclass="code-SummaryComment">/span]/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"\spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"m\/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"Literalspanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"m/spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"Literal/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"static/spanRegexregex=spanclass="code-keyword"new/spanRegex(spanclass="code-string""/spanspanclass="code-string"(?<=\\<m\\>)[^\\<]+(?=\\</m\\>)"/span,RegexOptions.CultureInvariant|RegexOptions.Compiled); spanclass="code-comment"///spanspanclass="code-comment"CaptureallMatchesintheInputText/spanMatchCollectionms=regex.Matches(InputText);/pre/code得到一份imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif]-它是免费的,它会检查,并产生了正则表达式。我真希望我写的
!BillWoodruff
评论会员:游客 时间:2012/02/06
我投票OriginalGriff优雅的解决方案,以上5...你也应该{S0}...但是......我很好奇,要​​知道使用"拆分",所以这里去实施的疼痛:codeprelang="cs"spanclass="code-comment"///spanspanclass="code-comment"thiscodeusesLinq:besureandreferencetheLinqlibrary/spanspanclass="code-comment"///spanspanclass="code-comment"inyourForm's'Using-declarations"'busingSystem.Linq;/b/spanspanclass="code-comment"///spanspanclass="code-comment"/spanbspanclass="code-comment"///spanspanclass="code-comment"assumeawinformwith:/spanspanclass="code-comment"///spanspanclass="code-comment"textBox1,textBox2,button1/spanspanclass="code-comment"///spanspanclass="code-comment"textBox1(MulitLine=false)holdsthestringtobesplit/spanspanclass="code-comment"///spanspanclass="code-comment"textBox2(MultiLine=true)willholdtheresultofsplitting/spanspanclass="code-comment"///spanspanclass="code-comment"button1triggerstheparsing/b/spanspanclass="code-comment"///spanspanclass="code-comment"variablestoholdtheresultsofindexingthesplitstring/spanspanclass="code-keyword"private/spanList<spanclass="code-keyword"string/span>method1;spanclass="code-keyword"private/spanspanclass="code-keyword"string/spanmethod2;spanclass="code-keyword"private/spanspanclass="code-keyword"string/spanmethod3; spanclass="code-comment"///spanspanclass="code-comment"stringtobeturnedintochar[]touseinsplitting/spanspanclass="code-keyword"private/spanspanclass="code-keyword"string/spanstringForSplit=spanclass="code-string""/spanspanclass="code-string"<m>"/span; spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanbutton1_Click(spanclass="code-keyword"object/spansender,EventArgse){spanclass="code-keyword"var/spanresult=textBox1.Text.Split(stringForSplit.ToCharArray()).Where(s=>(!String.IsNullOrWhiteSpace(s))).ToList(); spanclass="code-comment"///spanspanclass="code-comment"ignorethefirstandlastentriesintheresult/spanresult=result.GetRange(spanclass="code-digit"1/span,result.Count-spanclass="code-digit"2/span); method1=result;method2=result.Last();method3=result.First(); spanclass="code-comment"///spanspanclass="code-comment"examinetheresult.../spantextBox2.Lines=result.ToArray();}/pre/code讨论:1。将有趣的比较斯普利特的表现,这种情况下与正则表达式。2。真正比较"广义效用",这种技术相对于regex要求超出了我的正则表达式的知识技能。|