开发者

C# Array contains partial

开发者 https://www.devze.com 2023-01-08 19:53 出处:网络
How to find whether a string array contains some part of string? I have array like this String[] stringArray = new [] { \"abc@gmail.com\", \"cde@yahoo.com\", \"@gmail.com\" };

How to find whether a string array contains some part of string? I have array like this

String[] stringArray = new [] { "abc@gmail.com", "cde@yahoo.com", "@gmail.com" };
string str = "coure06@gmail.com"

if (stringArray.Any(x => x.Contains(str)))
{
    //this if condition is never true
}

i want to run this if block when str contai开发者_JAVA百科ns a string thats completely or part of any of array's Item.


Assuming you've got LINQ available:

bool partialMatch = stringArray.Any(x => str.Contains(x)); 

Even without LINQ it's easy:

bool partialMatch = Array.Exists(stringArray, x => str.Contains(x));

or using C# 2:

bool partialMatch = Array.Exists(stringArray,
      delegate(string x) { return str.Contains(x)); });

If you're using C# 1 then you probably have to do it the hard way :)


If you're looking for if a particular string in your array contains just "@gmail.com" instead of "abc@gmail.com" you have a couple of options.

On the input side, there are a variety of questions here on SO which will point you in the direction you need to go to validate that your input is a valid email address.

If you can only check on the back end, I'd do something like:

emailStr = "@gmail.com";
if(str.Contains(emailStr) && str.length == emailStr.length)
{
  //your processing here
}

You can also use Regex matching, but I'm not nearly familiar enough with that to tell you what pattern you'd need.

If you're looking for just anything containing "@gmail.com", Jon's answer is your best bets.

0

精彩评论

暂无评论...
验证码 换一张
取 消