如何在字符串中找到子字符串?

时间:2012-07-18 09:03:27

标签: c# asp.net .net

我收到像'companyby_1234@gmail.com','companyby_1256@gmail.com'这样的EmailIds输入,想找到有'companyby'文字的电子邮件ID并过滤它们,但我不知道它在哪里在字符串中。

我想这样做检查c#代码。

2 个答案:

答案 0 :(得分:1)

使用lambda表达式

var filteredList = IEnumerable<Emails>.Where(email => email.Contains(companyby))

答案 1 :(得分:0)

包含对于大量数据而言太慢,而且它也匹配域和中间出现。

所以使用StartsWith

System.Data.DataTable dt = //Whatever
foreach(System.Data.DataRow dr in dt.Rows)
{
    //string email = dr("email");
    string email = "companyby_1234@gmail.com";

    if (email != null && email.StartsWith("companyby", StringComparison.OrdinalIgnoreCase)) {
        // do whatever here
    }
}

Linq:

var filteredList = IEnumerable<Emails>.Where(email =>  email != null ? email.StartsWith("companyby", StringComparison.OrdinalIgnoreCase) : false)

对于Linq,您需要拥有.NET Framework&gt; 3.0,你需要添加

using System.Data;
using System.Linq;

因为有扩展方法。