如何在c#中提取一串文本

Meh*_*dad 2 c# string split

我在c#中拆分字符串时遇到问题有一个字符串(textbox0中的文本)

start and dffdfdddddddfd<m>one</m><m>two</m><m>three</m><m>four</m>dbfjnbjvbnvbnjvbnv and end
Run Code Online (Sandbox Code Playgroud)

我想在按钮1 之间<m></m>单击时提取文本,我需要3输出:

输出1:一二三四(输出到textbox1)

输出2:四(输出到textbox2)

输出3:一(输出到textbox3)

我该怎么办 ?

我该怎么做?

请给我button1_Click的完整代码

感谢致敬.

Mar*_*ers 6

您可以尝试使用正则表达式捕获列表中的四个值,使用LINQ:

List<string> results = Regex.Matches(s, "<m>(.*?)</m>")
                            .Cast<Match>()
                            .Select(m => m.Groups[1].Value)
                            .ToList();
Run Code Online (Sandbox Code Playgroud)

或者对于C#2.0:

List<string> results = new List<string>();
foreach (Match match in Regex.Matches(s, "<m>(.*?)</m>"))
{
     results.Add(match.Groups[1].Value);
}
Run Code Online (Sandbox Code Playgroud)

然后string.Join,您可以使用,Enumerable.First(或results[0])和Enumerable.Last(或results[results.Length - 1])来获取所需的输出.

如果这是XML,则应使用XML解析器.