【发布时间】:2015-05-12 03:57:19
【问题描述】:
大家好,我正在编写一个 c# 应用程序,但我似乎无法使用正则表达式作为 id 来拆分数据。
C:\Users\e014425c\Downloads\StoreData\ABE1102013.csv
在循环中存储为字符串。我想要:-
ABE1
10
2013
从那里我会将单个字符串存储到 3 个数组中。
问题是,在循环中数据会改变,所以你不能使用Contains("ABE1")
我们将不胜感激!
foreach (string word in file)
{
string testString = word;
string firstWords = Regex.Match(testString, @"^(\w+\b.*?){6}").ToString();
Console.Write(firstWords);
}
这就是我测试数据的方式
【问题讨论】:
-
所以你只想要
FileNameWithoutExtension? -
所以您只需要部分文件名(忽略路径)?规则是什么?前 4 个字符,然后是接下来的两个字符还是什么?不要让我们猜测,请准确解释您要做什么!
-
可以用substring()函数吗,去掉分机后总会有10个字符吗?还显示了更多文件名的示例,因为您说您不能使用 Contains 方法
-
@DrKoch 是的,只是文件名的一部分,忽略了路径,前 4 个字符,然后是 2 个字符,然后是 4 个字符,然后将这些单词存储到不同的数组中 ABE1 - 在数组 1 中 10 - 在数组 2 中 2013 -在数组 3 中
-
@MethodMan C:\Users\e014425c\Downloads\StoreData\ABS1_52_2013.csv C:\Users\e014425c\Downloads\StoreData\ACE1_6_2013.csv C:\Users\e014425c\Downloads\StoreData\DBE1_7_2013 .csv 每次循环结束时字符串都会改变
标签: c# regex arraylist foreach