C#将字符串"yyyy-MM-dd hh:mm:ss"中的字母从左到右依次替换为字符串“20241116183056”中的数字,输出为:"2024-11-16 18:30:56"
时间: 2024-12-17 07:48:40 浏览: 13
在C#中,你可以使用正则表达式和字符串替换功能来实现这个需求。首先,创建一个正则表达式匹配原始字符串中的每个部分,然后用新字符串中的对应位置数字替换。下面是一个简单的示例:
```csharp
using System.Text.RegularExpressions;
string input = "yyyy-MM-dd HH:mm:ss";
string replacement = "20241116183056";
// 创建一个正则表达式模式,匹配年、月、日、小时、分钟和秒
string pattern = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}";
// 使用Replace函数替换匹配的部分
string output = Regex.Replace(input, pattern, m => {
return replacement.Substring((int)m.Value[0] - 'y', 4) + "-" +
replacement.Substring((int)m.Value[5] - 'M', 2) + "-" +
replacement.Substring((int)m.Value[8] - 'd', 2) + " " +
replacement.Substring((int)m.Value[11] - 'H', 2) + ":" +
replacement.Substring((int)m.Value[14] - 'm', 2) + ":" +
replacement.Substring((int)m.Value[17] - 's', 2);
});
Console.WriteLine(output); // 输出 "2024-11-16 18:30:56"
```
阅读全文