我在这里遇到了一个小问题,我正在寻找一种更好的方法来分割字符串.例如,我收到一个看起来像这样的字符串.
0000JHASDF+4429901234ALEXANDER
Run Code Online (Sandbox Code Playgroud)
我知道字符串是用它构建的模式,我有一个像这样的数组.
4,5,4,7,9
0000 - JHASDF - +442 - 9901234 - ALEXANDER
Run Code Online (Sandbox Code Playgroud)
使用String MID命令很容易将整个内容拆分,但是当我收到包含8000 - 10000个数据集的文件时,它似乎很慢.那么任何建议我如何能够更快地将数据放入List或字符串数组中?如果有人知道如何使用RegEx这样做.
Luk*_*keH 10
var lengths = new[] { 4, 6, 4, 7, 9 };
var parts = new string[lengths.Length];
// if you're not using .NET4 or above then use ReadAllLines rather than ReadLines
foreach (string line in File.ReadLines("YourFile.txt"))
{
int startPos = 0;
for (int i = 0; i < lengths.Length; i++)
{
parts[i] = line.Substring(startPos, lengths[i]);
startPos += lengths[i];
}
// do something with "parts" before moving on to the next line
}
Run Code Online (Sandbox Code Playgroud)
是不是一个VB方法?
string firstPart = string.Substring(0, 4);
string secondPart = string.Substring(4, 5);
string thirdPart = string.Substring(9, 4);
//...
Run Code Online (Sandbox Code Playgroud)
正则表达式分割方法是一种可能性,但由于字符串中没有特定的分隔符,所以我怀疑它会有任何用处,而且不太可能更快。
String.Substring也是一种可能性。你可以这样使用它:var myFirstString = fullString.Substring(0, 4)