获取子字符串c#的特定单词后面的文本

本文关键字:单词 文本 字符串 获取 | 更新日期: 2023-09-27 18:24:06

我有以下值:

<H2:H2LabelComboBoxCell ID="LabelComboboxCellProject"  SecurityID="CD4D3959-0ADB-4375-8DCF-917157528BDE" MaxLength=100/>
<H2:H2LabelFileListCell ID="LabelFileListCellApplicationAttachched" ColumnSpan="1" DataSource="ClientFileH2BindingSource" />
<H2:H2LabelTextBoxCell LabelText="Budget (€)" ColumnSpan="1" ID="LabelTextboxCellBudget" />
<H2W:H2CheckBoxList ID= "H2CheckBoxListReasonForRejection" DataIsDefaultMember="IsDefault" runat="server" />

我需要得到每一行中ID的值。

我想使用子字符串如下:

string line= @"<H2:H2LabelComboBoxCell ID="LabelComboboxCellProject"  SecurityID="CD4D3959-0ADB-4375-8DCF-917157528BDE"/>"
string id= line.Substring(line.IndexOf("ID="),xyz);

我如何获得ID的值(我可以用于xyz的值)

编辑:我用XmlDocument作为Foolows:尝试了这个

string text= " <H2H2LabelTextBoxCell ID="H2LabelTextBoxCell1" runat="server" TextSize=400 PlaceHolder="" LabelText="Translate into" Token="Translation_Into_For_Language_management_Initial" DataSource="SelectedTokensForStaticListTypeBindingSource2" DataMember="Value" Disabled="False" SecurityID="755C974E-211A-4832-B5E2-F3765194E6BC"></H2H2LabelTextBoxCell> "
 XmlDocument doc = new XmlDocument();
 doc.LoadXml(text);

这引发以下异常:"400"是意外的令牌。所需的标记为"或"。第1行,位置72。

由于格式问题,我移回正常的行读取选项。

获取子字符串c#的特定单词后面的文本

如果您不想做整个XML的事情。

private static int Main(string[] args)
{
    string line= "<H2:H2LabelComboBoxCell ID='"LabelComboboxCellProject'"  SecurityID='"CD4D3959-0ADB-4375-8DCF-917157528BDE'"/>";
    string stringToFind = "ID='"";
    int firstQuote = line.IndexOf(stringToFind) + stringToFind.Length;
    int nextQuote  = line.IndexOf("'"",firstQuote);
    string id= line.Substring(firstQuote,nextQuote-firstQuote);
    System.Console.Write("id="+id);
    return 0;
}

关于:

int start, end;
start = line.IndexOf("ID='"") + ("ID='"").Length;
end = line.IndexOf("'"", start);
string id= line.Substring(start,end-start);

您也可以使用Split()。