字符串包含 Linq 语法时的子字符串

本文关键字:字符串 语法 包含 Linq | 更新日期: 2023-09-27 18:33:20

在 Linq 中,我有类似的东西

nodes.Select(td => td.InnerText.
                Replace("&", "&").
                Substring(0, td.InnerText.IndexOf("+"))).
                ToArray();

有时道明。InnerText 包含一个 + 符号,有时它不会,如果没有,我会得到空引用异常。

我如何仅在TD的情况下申请Substring(0, td.InnerText.IndexOf("+")))。内部文本包含"+" ?

字符串包含 Linq 语法时的子字符串

你可以这样做

td.InnerText.Replace("&", "&").Substring(0, td.InnerText.IndexOf("+") > -1 ? td.InnerText.IndexOf("+") : 0);

尝试使用三元运算符。这可能无法正常工作,但会给您一个提示。

nodes.Select(td => td.InnerText.Replace("&", "&").Substring(0, 
    (td.InnerText.Contains("+")==true? td.InnerText.IndexOf("+"):string.Empty))).
                    ToArray();