在c#中提取两个标签之间的文本
本文关键字:标签 两个 之间 文本 提取 | 更新日期: 2023-09-27 18:10:45
我在c#中有分裂问题
(text in textbox0)
start and dffdfdddddddfd<m>one</m><m>two</m><m>three</m><m>four</m>dbfjnbjvbnvbnjvbnv and end
和我想提取<m>
和</m>
之间的文本时,点击在button1和我需要
输出1:一、二、三、四(输出到textbox1)
输出2:4 (输出到textbox2)
输出3:1 (输出到textbox3)
我该怎么办?
我该怎么做呢?
请给我完整的代码button1_Click请。我是c#业余爱好者,所以我需要输出代码
以下是代码
var items = new List<string>();
foreach (Match match in Regex.Matches(text, "<m>(.*?)</m>"))
items.Add(match.Groups[1].Value);
string output = String.Join(" ", items);
someTextBox.Text = output;
if (items.Any())
anotherTextBox.Text = items[0];
if (items.Count > 2)
whateverTextBox.Text = items[3];
比起为您编写代码,我更希望您使用正则表达式。看看使用正则表达式。这是解析文本以找到所需位的一种方法。特别是,阅读"组"。
匹配工作完成后,可以提取匹配组并将文本解析为所需的字段。
干杯!
use
Regex.Matches(TextString, "<m>(.*?)</m>")
试试这样的RegEx:
string source = "start and dffdfdddddddfd<m>one</m><m>two</m><m>three</m><m>four</m>dbfjnbjvbnvbnjvbnv and end";
List<string> destList = new List<string>();
foreach (Match match in Regex.Matches(source, "<m>(.*?)</m>"))
destList.Add(match.Groups[1].Value);
textbox1.Text = String.Join(" ", destList);
textbox2.Text = destList[3];
.....