我有这个字符串,如下所示:
613 3503||0 82 1 49 1 1950 63543 11301 3 CORP-A1 1656.06 150 0 N 82.8 198.72 12.42 N 0 0 0 N Y 1
但是,当我用TAB或SPACE对它进行字符串拆分时,它不会通过Tab或空格分割。它仍然作为整体输出。
我尝试了以下内容:
= fromVisMtext.Text.Split(vbTab)
= fromVisMtext.Text.Split(" ")
此外,当我粘贴所述字符串时,在堆栈溢出处,它不是分隔的并且彼此连接。
6133503||0821491195063543113013CORP-A11656.061500N82.8198.7212.42N000NY1
我上面粘贴的字符串是我的,我手动添加了空格,因为这里StackOverflow删除了所说的分隔符。
此外,所述字符串来自Intersystems Cache的VisM控件。
如何用Tab或Space分割这个字符串?它似乎也不是,但数据肯定是由空格或制表符分隔。
编辑这是Dim theGlobals = String.Join(" ", fromVisMtext.Text.Select(Function(ch) Microsoft.VisualBasic.AscW(ch).ToString("x4")))
答案 0 :(得分:1)
在一般情况下(空间,标签,非破坏空间等分隔符),您可以尝试按任意空格分割,例如:
String source = @"613 3503||0 82 1 49 1 1950 63543 11301 3 CORP-A1 1656.06 150 0 N 82.8 198.72 12.42 N 0 0 0 N Y 1";
var result = Regex
.Split(source, @"\s")
.Where(item => !String.IsNullOrEmpty(item));
//.ToArray(); // <- if you want to materialize
// 613
// 3503||0
// 82
// 1
// ...
// N
// Y
// 1
Console.Write(String.Join(Environment.NewLine, result));
如果确定分隔符可以是空格(' '
)或制表符('\t'
),则只能拆分:
var result = source.Split(new Char[] { ' ', '\t' },
StringSplitOptions.RemoveEmptyEntries);