[英]Split and reformat a String using Regex
我有一个像这样的字符串变量:
string data= "#FirstName=Arvind #LastName= Chaudhary_009"
在C#中使用正则表达式,我希望输出如下:
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格式化输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.