繁体   English   中英

C#.NET-如何使用制表符分隔符拆分字符串?

[英]C# .NET - How can I split string with a tab separator?

我的代码中包含以下字符串:

string test = @"aaaaa   aaaaa   aaaaa   bbbb    ttttt   tttttt
33333   44444   777777   77777   88888   8888    8888    88888   88888
wwwww   wwwww   wwwwww   wwwww   wwwww   wwwwww";

这是我的代码,通过换行符和制表符拆分字符串。

foreach (var line in test.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
{
    foreach (var lineItem in line.Split('\t'))
    {                        
    }
}

在第一个循环的第一个交互变量是“ aaaaa aaaaa aaaaa bbbb ttttt tttttt” ,这是正确的,但是在几秒钟的循环中,第一个交互变量lineItem是相同的,因此不会使用制表符分隔符拆分此字符串。 为什么会这样呢?

您确定您的字符串中包含制表符吗? 尝试使用Split()它将按制表符和空格分开:

foreach (var lineItem in line.Split())
{                        
}

它不起作用的原因是tabs不是您的string test选项卡-请参见:

在此处输入图片说明 第一行是我从MS Excel中生成的。 使用正则表达式正确表示任何空格字符(即使对于Unicode转义序列)

Regex regex = new Regex(@"\s");
string[] bits = regex.Split(line);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM