110,536
社区成员
发帖
与我相关
我的任务
分享
static List<string> getList(List<string> p_dataList,string splitKey)
{
int keyCount = 0; //记录分割字符串个数
int arrLength = p_dataList.Count;
string[] tempArr; //临时存放每行拆分出来的子字符串
for(int i=0;i<arrLength;i++)
{
tempArr = p_dataList[i].Split(new string[] { "ABC" }, StringSplitOptions.None);
if (tempArr.Length > 1)
{
keyCount++;
if (keyCount > 1)
{
for(int j=1;j<tempArr.Length;j++)
{
p_dataList.Add(tempArr[j]);
}
p_dataList[i] = tempArr[0];
}
}
}
return p_dataList;
}
var res = new List<string>();
foreach(var s in File.ReadAllLines("123.txt"))
{
res.AddRange(s.Split(new string[]{"ABC"}, StringSplitOptions.RemoveEmptyEntries));
}
Console.WriteLine(string.Join("\r\n",res));
using System.Text.RegularExpressions;
static List<string> getList(List<string> p_dataList,string splitKey)
{
List<string> addedList = new List<string>(); //存放分离出来的子字符串
int keyCount = 0; //记录分割字符串个数
int arrLength = p_dataList.Count;
string[] tempArr; //临时存放每行拆分出来的子字符串
for(int i=0;i<arrLength;i++)
{
tempArr = Regex.Split(p_dataList[i], splitKey);
if (tempArr.Length > 1)
{
keyCount++;
if (keyCount > 1)
{
for(int j=1;j<tempArr.Length;j++)
{
addedList.Add(tempArr[j]);
}
p_dataList[i] = tempArr[0];
}
}
}
p_dataList = p_dataList.Union(addedList).ToList();
return p_dataList;
}
static void Main(string[] args)
{
List<string> dataList = new List<string>();
dataList = System.IO.File.ReadAllLines(@"D:\123.txt").ToList(); //根据你的习惯,可以按照你的写法
System.Diagnostics.Stopwatch sw = new Stopwatch();
sw.Start();
dataList = getList(dataList, "ABC");
sw.Stop();
//输出分割后的list
}
测试用的123.txt
DKFKDkdfjdABCifie284dkjf
kfjdjfdfieryi
kdjfeidoss8593sa
DKJFOEI949F
MNXBCABCksjdiw3u49ABCeeeeeeeeee
q2ios9idfjs9e
djfosmdfsfs,cmvns
lxjowie9DKD
KDJFLSJFSDFPWOOIFIDJF09U192i0ujkk0ww-
kdjfius032
lkdsKDJFSJFDKFS
DSLKFLLDABCO29839jdfksjkdfsieeirrABC93898ABCjnxnqjnxnviwmvABCDFJLSJFS
KDSKDOoweriwrxlkpei
oiwroiwpsmkm nnvq2u93uskisq
ksjfksjfsoOIOSEJKFOSkjfkis9924998
KDDFS49udjgoe29I0EUXVP390SJFLKLpoii394oj
ksjfksjowur02ijfjfs
111111111111888ajffffffffff
输出