C# 将文本拆分为4个数组
我想用字符分割文本,这样我就可以从中创建一个对象C# 将文本拆分为4个数组,c#,.net,C#,.net,我想用字符分割文本,这样我就可以从中创建一个对象 string s = "Domain_FieldName"; //string s = "Domain_Schema_TableName_FieldName"; //string s = "Domain_Schema_FieldName"; var x = s.Split(new[] {'_'}, StringSplitOptions.None); var xx = new Response() { Value = "test",
string s = "Domain_FieldName";
//string s = "Domain_Schema_TableName_FieldName";
//string s = "Domain_Schema_FieldName";
var x = s.Split(new[] {'_'}, StringSplitOptions.None);
var xx = new Response()
{
Value = "test",
DataType = "string",
Domain =
Schema =
TableName =
FieldName =
};
因此,问题是要拆分的字符串的长度可能不同
但是我需要拆分字符串,以便它可以映射到响应对象字段
我需要一种通用的方法来填充响应对象
例如,如果只指定了“Domain_FieldName”,则需要知道在响应中将Domain传递给Domain,在响应中将FieldName传递给FieldName,Schema和TableName应该得到一个空字符串,使用C#Split
函数
string s = "Domain_Schema_TableName_FieldName";
string[] substring= s.Split('_');
上述代码将使用分隔符将字符串
域\u架构\u表名\u字段名
拆分为不同的部分,并将子字符串保存在名为substring的字符串数组中在设置变量之前,请尝试检查拆分
数组的长度。(如果太短,则设置默认值)
})
(另外:s.Split(“”)
或s.Split(“”)
也可以使用)
编辑:
我没有看到,您只想填写最后4个字段。更改代码
第二次编辑:
我也没有看到字符串的顺序可能不同(例如示例1和示例3)。在这种情况下,除非您可以指定如何确定哪个字符串需要进入哪个字段,否则我无法帮助您。您可以执行以下操作:
var x = s.Split(new[] { '_' }, StringSplitOptions.None);
var xx = new Response
{
Value = "test",
DataType = "string",
Domain = x.Length > 0 ? x[0] : null,
Schema = x.Length > 1 ? x[1] : null,
TableName = x.Length > 2 ? x[2] : null,
FieldName = x.Length > 3 ? x[3] : null
};
试试这个
string s = "Domain_FieldName";
var x = s.Split(new[] { '_' }, StringSplitOptions.None);
var xx = new Response
{
Value = "test",
DataType = "string",
Domain =x[0],
Schema ="",
TableName ="",
FieldName = x[1]
};
从您的示例来看,域总是第一位,字段名总是最后一位:
string s = "Domain_FieldName";
//string s = "Domain_Schema_TableName_FieldName";
//string s = "Domain_Schema_FieldName";
var x = s.Split('_');
var xx = new Response()
{
Value = "test",
DataType = "string",
Domain = x[0]
Schema = x.Length > 2 ? x[1] : "";
TableName = x.Length > 3 ? x[2] : "";
FieldName = x.Length > 1 ? x.Last() : "";
};
根本不清楚你在问什么或者你期望得到什么答案。对于您遇到的任何特定问题,请包括一个。请同时阅读。确保你的问题是具体的,不要过于宽泛。你的问题到底是什么?很明显,您正在拆分
s
并将其分配给x
——但是您在哪里使用x
?您想将x
的哪些部分放入xx
?很抱歉,无法看到您正在尝试执行的操作。如果您没有预定义的数据系列,则无法实现所需的操作。您可能需要这样的内容:域\字段名。这样,您将确保第四个元素始终是字段名,第一个元素始终是域,依此类推。请重新格式化您的代码示例。这不仅给潜在读者带来不便,还可能导致他们离开。格式化代码很重要,发布格式不好的代码会发出一个信号,表明这篇文章不值得。你的甚至不会编译。
string s = "Domain_FieldName";
//string s = "Domain_Schema_TableName_FieldName";
//string s = "Domain_Schema_FieldName";
var x = s.Split('_');
var xx = new Response()
{
Value = "test",
DataType = "string",
Domain = x[0]
Schema = x.Length > 2 ? x[1] : "";
TableName = x.Length > 3 ? x[2] : "";
FieldName = x.Length > 1 ? x.Last() : "";
};