C# 任何想法都可以用相同的拆分语法拆分字符串?
例如字符串:C# 任何想法都可以用相同的拆分语法拆分字符串?,c#,C#,例如字符串: string test= "[1,2,3,4,'Name\'s(w)','ProductName','2013,6,1,10,00,00','2013,6,1,10,00,00',0]"; 有人能帮我吗?所以我的数组应该是 ["1","2","3","4","Name\'s(w)","ProductName","2013,6,1,10,00,00","2013,6,1,10,00,00","0"] 如何将字符串拆分为数组,字符串格式如上所示,值是动态的。我想要字符串“201
string test= "[1,2,3,4,'Name\'s(w)','ProductName','2013,6,1,10,00,00','2013,6,1,10,00,00',0]";
有人能帮我吗?所以我的数组应该是
["1","2","3","4","Name\'s(w)","ProductName","2013,6,1,10,00,00","2013,6,1,10,00,00","0"]
如何将字符串拆分为数组,字符串格式如上所示,值是动态的。我想要字符串“2013,6,1,10,00,00”。您可以使用正则表达式匹配产品名称后的“2013,6,1,10,00,00” 这将完成以下工作:
ProductName','([\a-zA-Z0-9-,]+)
您可以使用来测试正则表达式
要在c#中使用它,您可以:
private static readonly Regex FOO_REGEX = new Regex("ProductName','([\a-zA-Z0-9-,]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
Match match = FOO_REGEX.Match(inputParameters);
if (match.Success)
{
GroupCollection groups = match.Groups;
//groups[1].Value is equals to 2013,6,1,10,00,00
}
关于,您可以使用正则表达式匹配产品名称后的'2013,6,1,10,00,00' 这将完成以下工作:
ProductName','([\a-zA-Z0-9-,]+)
您可以使用来测试正则表达式
要在c#中使用它,您可以:
private static readonly Regex FOO_REGEX = new Regex("ProductName','([\a-zA-Z0-9-,]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
Match match = FOO_REGEX.Match(inputParameters);
if (match.Success)
{
GroupCollection groups = match.Groups;
//groups[1].Value is equals to 2013,6,1,10,00,00
}
在这方面,输入字符串在JSON语法中看起来像数组,所以您可以使用内置的JSON解析器:
using System;
using System.Web.Script.Serialization;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
const string input = @"[1,2,3,4,'Name\'s(w)','ProductName','2013,6,1,10,00,00','2013,6,1,10,00,00',0]";
var parsed = new JavaScriptSerializer().Deserialize<object[]>(input);
foreach (var o in parsed)
{
Console.WriteLine(o.ToString());
}
Console.ReadLine();
}
}
}
请记住,您需要在项目中添加对System.Web.Extensions的引用。输入字符串看起来像JSON语法中的数组,因此使用内置JSON解析器就足够了:
using System;
using System.Web.Script.Serialization;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
const string input = @"[1,2,3,4,'Name\'s(w)','ProductName','2013,6,1,10,00,00','2013,6,1,10,00,00',0]";
var parsed = new JavaScriptSerializer().Deserialize<object[]>(input);
foreach (var o in parsed)
{
Console.WriteLine(o.ToString());
}
Console.ReadLine();
}
}
}
请记住,您需要在项目中添加对System.Web.Extensions的引用。我不明白。您对数组的期望是什么?test.Split(',')[6]格式是否始终相同?倒数第二和第三个值是否始终相同?选择“2013,6,1,10,00,00”的标准是什么?这个伪JavaScript数组中的位置?数据格式?到目前为止您尝试了什么?基本上您希望在“,”上拆分,并忽略双引号之间的任何逗号?我听上去像是在说什么,我不明白。您对数组的期望是什么?test.Split(',')[6]格式是否始终相同?倒数第二和第三个值是否始终相同?选择“2013,6,1,10,00,00”的标准是什么?这个伪JavaScript数组中的位置?数据格式?到目前为止您尝试了什么?基本上您希望在“,”上拆分,并忽略双引号之间的任何逗号?听起来像是CSV解析谢谢Tommi这是我需要的谢谢Tommi这是我需要的