Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c我是否应该将字符串与正则表达式匹配_C#_Regex_String Matching - Fatal编程技术网

C# c我是否应该将字符串与正则表达式匹配

C# c我是否应该将字符串与正则表达式匹配,c#,regex,string-matching,C#,Regex,String Matching,我有一个文本,我将在该文本中查找匹配项,然后将结果放入数组 当我尝试创建字符串数组和字符串变量时,我发现从MatchCollection类型更改为字符串类型确实令人困惑。我得到的错误无法转换 我应该使用什么类型的数组和变量? 字符串类型的需求是什么。我只是在用它,因为我处理字符串 我想指出的是,我将在数组之间进行比较,以找到常见的匹配项 这是我到目前为止的全部代码 使用: string sample = "1a2b3c4d"; MatchCollection matches = Regex.Ma

我有一个文本,我将在该文本中查找匹配项,然后将结果放入数组

当我尝试创建字符串数组和字符串变量时,我发现从MatchCollection类型更改为字符串类型确实令人困惑。我得到的错误无法转换

我应该使用什么类型的数组和变量? 字符串类型的需求是什么。我只是在用它,因为我处理字符串

我想指出的是,我将在数组之间进行比较,以找到常见的匹配项

这是我到目前为止的全部代码 使用:

string sample = "1a2b3c4d";
MatchCollection matches = Regex.Matches(sample, @"\d");

List<string> matchesList = new List<string>();

foreach (Match match in matches) 
    matchesList.Add(match.Value);

matchesList.ForEach(Console.WriteLine);
或者使用LINQ:

List<string> matchesList2 = new List<string>();

matchesList2.AddRange(
    from Match match in matches
    select match.Value
);

matchesList2.ForEach(Console.WriteLine);

你能发布导致问题的代码吗?我会使用一个通用列表mylist=newlist;将匹配项保留在列表中。文本匹配的类型应声明为String:String match;。您可以将匹配项添加到列表中,如mylist.Addmatch;啊哈,所以我可以使用declar字符串匹配,而不是MatchCollection。foreach和.AddRange之间有什么不同?在foreach中,你一个接一个地添加值,AddRange会从linq requestlinq request创建的IEnumerable中添加值?那是什么?我应该用哪一个来处理对象。我将在类上创建数组。请随意查找msdn,foreach可能会运行得更快