C# Version Of SQL LIKE

后端 未结 20 2237
天涯浪人
天涯浪人 2020-11-29 02:12

Is there any way to search patterns in strings in C#?

Something like Sql LIKE would be very useful.

20条回答
  •  北海茫月
    2020-11-29 02:32

    public static class StringsEx
    {
        public static IEnumerable Like(this IEnumerable input, String pattern)
        {
            var dt = new DataTable();
            dt.Columns.Add("Search");
            foreach (String str in input)
            {
                dt.Rows.Add(str);
            }
            dt.DefaultView.RowFilter = String.Format("Search LIKE '{0}'", pattern);
            return dt.DefaultView.ToTable()
                .AsEnumerable()
                .Select(r => r.Field("Search"));
        }
    }
    

    The only disadvantage is following: "Wildcard characters are not allowed in the middle of a string. For example, 'te*xt' is not allowed."©

提交回复
热议问题