我有一个字符串和一个数组,我想检查字符串,并查找该字符串是否包含数组中的任何字符串.
我的数组最多包含10个元素.
string[] stringArray = { "apple", "banana", "orange" };
string text="I want an apple";
public static string getItem(string text)
{
//check text for stringArray items
//return item (apple, banana, orange)
}
string item = getItem(text);
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找的是创建一个从中返回项目的方法.另外我想知道是否有任何替代方法可以使用Enum或List <>来完成此操作.
最后我做了这样的方法
public static string getItem(string text)
{
string[] stringArray = { "Apple", "Banana", "Orange" };
string item = stringArray.Where(s => text.ToUpper().Contains(s)).DefaultIfEmpty("None").FirstOrDefault();;
return item;
}
Run Code Online (Sandbox Code Playgroud) 所以我的代码看起来像这样
string order = "Im sending you big apples x100";
string[] fruits = { "apples", "big apples", "oranges" };
string[] vegetables = { "tomatoes", "carrots", "cucumber" };
string[] words = order.Split();
if (fruits.Any(w => words.Contains(w)))
{
//do things here
}
if (vegetables.Any(w => words.Contains(w)))
{
//do things here
}
Run Code Online (Sandbox Code Playgroud)
我希望能够找到依赖于顺序字符串的确切内容,如果可能的话,现在在我的情况下,当字符串数组有2个单词的顺序时,这个代码不起作用,当我的字符串数组有2个单词时,我怎么能这样做.我想找到只有它有"大苹果"我知道我只能做"苹果",但我想在订单字符串中找到序列字.
我有2个字符串数组.一个是基础,另一个是变化.
string[] baseArray = { "Gold", "Silver", "Bronze" };
string[] readArray = { "Bronze", "Silver", "Gold" };
// After comparing the readArray over the baseArray the result should be this
//string match = "Gold";
Run Code Online (Sandbox Code Playgroud)
我想按照baseArray的顺序获得第一名.
//Example2
string[] readArray = { "Bronze", "Silver" };
//string match should be "Silver"
Run Code Online (Sandbox Code Playgroud) 如果我的文本包含任何数组内容而不是"发短信"的话,我如何检查我的文本?
string text = "some text here";
string[] array1 = { "text", "here" };
string[] array2 = { "some", "other" };
Run Code Online (Sandbox Code Playgroud)
我在SO上找到了这个代码,我该怎样才能适应它?
string regexPattern = string.Format(@"\b{0}\b", Regex.Escape(yourWord));
if (Regex.IsMatch(yourString, regexPattern)) {
// word found
}
Run Code Online (Sandbox Code Playgroud)
正则表达式是这项工作的最佳方法吗?或者我应该使用foreach循环?