如何使用通配符在数组中搜索字符串? C#
How can I search strings inside an array using wild cards? C#
参数是一个字符串,每个单词都有一个数字。我需要在那个词中搜索号码。到目前为止,我的解决方案是将字符串拆分成一个字符串数组,然后使用 Array.IndexOf
找到我的搜索的匹配索引。但是我一直没能找到成功使用通配符的方法。使用 string.Contains
似乎有效,但使用 Array.IndexOf
搜索无效。
如何在字符串数组元素中搜索包含数字且 return 它是索引的单词? 1-9.
public static string Order(string words)
{
string[] wordArr = words.Split(' ');
string[] wordsOrdered = new string[words.Length];
int k;
for (int i = 0, j = 1; i < wordsOrdered.Length; i++, j++)
{
if (words.Contains($"{j}"))
{
k = Array.IndexOf(wordArr, $"{j}");
if (k != -1)
wordsOrdered[i] = wordArr[k];
}
}
return words = wordsOrdered.ToString();
}
寻找单词中是否存在数字的正则表达式似乎是最简单的解决方案
public static string Order(string words)
{
string[] wordArr = words.Split(' ');
string[] wordsOrdered = new string[wordArr.Length];
Regex r = new Regex(@"\d+");
for (int i = 0; i < wordArr.Length; i++)
{
var m = r.Match(wordArr[i]);
if(m.Success)
{
int index = Convert.ToInt32(m.Value);
wordsOrdered[index-1] = wordArr[i];
}
}
return string.Join(" ", wordsOrdered);
}
这段代码假设你所有的单词在内部至少有一个数字,最小的数字从 1 开始。(0 将导致索引超出范围异常)而且你不应该有更大的数字比输入字数还要多。
参数是一个字符串,每个单词都有一个数字。我需要在那个词中搜索号码。到目前为止,我的解决方案是将字符串拆分成一个字符串数组,然后使用 Array.IndexOf
找到我的搜索的匹配索引。但是我一直没能找到成功使用通配符的方法。使用 string.Contains
似乎有效,但使用 Array.IndexOf
搜索无效。
如何在字符串数组元素中搜索包含数字且 return 它是索引的单词? 1-9.
public static string Order(string words)
{
string[] wordArr = words.Split(' ');
string[] wordsOrdered = new string[words.Length];
int k;
for (int i = 0, j = 1; i < wordsOrdered.Length; i++, j++)
{
if (words.Contains($"{j}"))
{
k = Array.IndexOf(wordArr, $"{j}");
if (k != -1)
wordsOrdered[i] = wordArr[k];
}
}
return words = wordsOrdered.ToString();
}
寻找单词中是否存在数字的正则表达式似乎是最简单的解决方案
public static string Order(string words)
{
string[] wordArr = words.Split(' ');
string[] wordsOrdered = new string[wordArr.Length];
Regex r = new Regex(@"\d+");
for (int i = 0; i < wordArr.Length; i++)
{
var m = r.Match(wordArr[i]);
if(m.Success)
{
int index = Convert.ToInt32(m.Value);
wordsOrdered[index-1] = wordArr[i];
}
}
return string.Join(" ", wordsOrdered);
}
这段代码假设你所有的单词在内部至少有一个数字,最小的数字从 1 开始。(0 将导致索引超出范围异常)而且你不应该有更大的数字比输入字数还要多。