使用c分割存在于不同行中的数据#
问题描述:
请帮我分割数据。使用c分割存在于不同行中的数据#
林有我的excel文件的一些数据作为
123456 // row id 0,0
234567 // row id 1,0
345678 // row id 2,0
456789 // row id 3,0
等等...
现在我在windows应用程序的文本框中提供这些数据,需要的输出数据作为split[0] = 123456,split[1]=234567
和等等...
请帮我这...
string text = textBox1.Text;
string[] split = text.Split();//Here what condition should i give???
int count = split.Length;
for (int i = 0; i < count; i++)
{
Console.WriteLine(split[i]);
}
答
如果you're只关心在//
前的部分,那么你也可以使用使用String.Substring()
另一种方法:
int num;
if(int.TryParse(text.Substring(0, text.IndexOf("//")), out num) {
// do something with num
};
Alternativly使用Split
:
int num;
if(int.TryParse(text.Split("//")[0], out num) {
// do something with num
};
答
string text = @"
123456 // row id 0,0
234567 // row id 1,0
345678 // row id 2,0
456789 // row id 3,0
";
string[] splits = text.Split('\n');//Here what condition should i give???
string[] split=new string[splits.Length];
int j=0;
foreach (var x in splits)
{
split[j]=x.Split(' ')[0];
j++;
}
int count = split.Length;
for (int i = 0; i < count; i++)
{
Console.WriteLine(split[i]);
}
答
你在找这个?
String text =
@"123456 // row id 0,0
234567 // row id 1,0
345678 // row id 2,0
456789 // row id 3,0";
// new Char[] { '\r', '\n' } - I don't know the actual separator
// Regex.Match(...) - 1st integer number in the line
int[] split = text
.Split(new Char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
.Select(line => int.Parse(Regex.Match(line.TrimStart(), "^[0-9]+").Value))
.ToArray();
// Test:
// 123456
// 234567
// 345678
// 456789
Console.Write(String.Join(Environment.NewLine, split));
我不清楚你的实际文件是什么样子的,//是否是定界符?比使用这个你的'分裂'。是','?在使用循环之前,您可以拆分从分割中获得的每个字符串。 – HimBromBeere
认为它不是行ID,它是单元ID,所以我们有一个包含5个值的列。 –