字符串中的特定值随string []数组元素而变化

时间:2016-12-23 17:44:15

标签: c# arrays

我有一个很大的字符串数组和字符串:

    string[] array = new string[3264];
    array = {"00:00:45,104","00:01:04,094","01:43:24,001"....};
    string str = "00:00:13,614 /n rose /n 00:01:14,001...",

我在字符串和数组中有相同的时间。我想改变这些价值观。例如,新字符串必须是:

str = "00:00:45,104 /n rose /n 00:01:04,094 ...";

我的意思是数组元素的时间变化。我想我可以在字符串中找到时间:

var mL = Regex.Matches(subtitle, @"(\d{2}:\d{2}:\d{2},\d+)", RegexOptions.Multiline);

但我不知道如何更改它们。

1 个答案:

答案 0 :(得分:1)

您可以使用Regex.Replace执行此操作,如下所示:

string[] array = new string[] { "00:00:45,104","00:01:04,094","01:43:24,001"};
string str = "00:00:13,614 /n rose /n 00:01:14,001";
int i = 0;
str = Regex.Replace(str, @"(\d{2}:\d{2}:\d{2},\d+)", m => array[i++]);

replace接受每个匹配并调用lambda函数来获取应该替换的字符串。所以lambda函数只是返回数组中的下一个值。