使用正则表达式拆分和重新格式化字符串
Split and reformat a String using Regex
我有一个字符串变量,如:
string data= "#FirstName=Arvind #LastName= Chaudhary_009"
在 C# 中使用 Regex 我想要这样的输出:
FirstName = Arvind;
LastName= Chaudhary009;
会有更多的方法可以做到这一点。其中两个是
string data = "#FirstName=Arvind #LastName= Chaudhary_009";
data = data.Replace("_", "");
data = data.Replace("=", " = ");
string[] dt = data.Split(new char[] {'#'}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(dt[0]); // Print your array here
正则表达式:您要求的
Regex regex = new Regex(@"#");
string[] dt1 = regex.Split(data).Where(s => s != String.Empty).ToArray();
Console.WriteLine(dt1[0]); // Print your array here
你可以按照你想要的方式打印数组
编辑
了解评论中的要求后
string data = "#FirstName=Arvind #LastName= Chaudhary_009";
data = data.Replace("_", "");
string[] dt = data.Split(new char[] {'#'}, StringSplitOptions.RemoveEmptyEntries);
Regex regex = new Regex(@"#");
string[] dt1 = regex.Split(data).Where(s => s != String.Empty).ToArray();
foreach(string d in dt)
{
//this will print both the line
Console.WriteLine(d);
}
foreach(string d in dt1)
{
//this will print both the line
Console.WriteLine(d);
}
会有很多解决方案。我建议您使用 .NET Regex Tester 或类似的在线工具来帮助开发运行良好的正则表达式。
一个简单的正则表达式示例,将为您提供一些组:
#FirstName\s*=\s*(.*)\s?#LastName\s*=\s*(.*)_(.*)
运行 然后根据组 1、2、3 格式化输出。
我有一个字符串变量,如:
string data= "#FirstName=Arvind #LastName= Chaudhary_009"
在 C# 中使用 Regex 我想要这样的输出:
FirstName = Arvind;
LastName= Chaudhary009;
会有更多的方法可以做到这一点。其中两个是
string data = "#FirstName=Arvind #LastName= Chaudhary_009";
data = data.Replace("_", "");
data = data.Replace("=", " = ");
string[] dt = data.Split(new char[] {'#'}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(dt[0]); // Print your array here
正则表达式:您要求的
Regex regex = new Regex(@"#");
string[] dt1 = regex.Split(data).Where(s => s != String.Empty).ToArray();
Console.WriteLine(dt1[0]); // Print your array here
你可以按照你想要的方式打印数组
编辑
了解评论中的要求后
string data = "#FirstName=Arvind #LastName= Chaudhary_009";
data = data.Replace("_", "");
string[] dt = data.Split(new char[] {'#'}, StringSplitOptions.RemoveEmptyEntries);
Regex regex = new Regex(@"#");
string[] dt1 = regex.Split(data).Where(s => s != String.Empty).ToArray();
foreach(string d in dt)
{
//this will print both the line
Console.WriteLine(d);
}
foreach(string d in dt1)
{
//this will print both the line
Console.WriteLine(d);
}
会有很多解决方案。我建议您使用 .NET Regex Tester 或类似的在线工具来帮助开发运行良好的正则表达式。
一个简单的正则表达式示例,将为您提供一些组:
#FirstName\s*=\s*(.*)\s?#LastName\s*=\s*(.*)_(.*)
运行 然后根据组 1、2、3 格式化输出。