【发布时间】:2011-07-22 18:02:19
【问题描述】:
我有一个列表框,其内容如下所示:
C44 EXCLUDES 237.910 193.469 0 0603_5
C45 EXCLUDES 244.102 193.387 0 0603_5
R47 EXCLUDES 226.935 179.519 90 0402_2
C18 CAP-00129G 230.960 190.619 0 0402_4
C17 CAP-00129G 250.085 198.569 90 0402_3
C25 CAP-00130G 255.635 189.669 90 0402_3
C56 EXCLUDES 229.430 189.374 0 0402_4
R42 EXCLUDES 241.010 192.194 90 TANT3216
R10 EXCLUDES 246.560 203.894 0 0402_9
单击按钮后,我想“删除结尾”并将其重新上传到列表框。 所以新的 ListBox 看起来像这样:
C44 EXCLUDES 237.910 193.469 0
C45 EXCLUDES 244.102 193.387 0
R47 EXCLUDES 226.935 179.519 90
C18 CAP-00129G 230.960 190.619 0
C17 CAP-00129G 250.085 198.569 90
C25 CAP-00130G 255.635 189.669 90
C56 EXCLUDES 229.430 189.374 0
R42 EXCLUDES 241.010 192.194 90
R10 EXCLUDES 246.560 203.894 0
所有可能的结尾都在这个正则表达式中:
Regex placementOneRegex = new Regex(@"(RES|0402|0201|0603|0805|1206|1306|1608|3216|2551|1913|1313|2513|5125|2525|5619|3813|1508|6431|2512|1505|2208|1005|1010|2010|0505|0705|1020|1812|2225|5764|4532|1210|0816|0363|SOT)");
代码:
private void removeEndingsButton_Click(object sender, EventArgs e)
{
string[] items;
System.Windows.Forms.ListBox.ObjectCollection contents = placementOneListBox.Items;
foreach (string str in contents)
{
Regex placementOneRegex = new Regex(@"(RES|0402|0201|0603|0805|1206|1306|1608|3216|2551"
+ @"|1913|1313|2513|5125|2525|5619|3813|1508|6431|2512|1505|2208|1005|1010|2010|0505|0705"
+ @"|1020|1812|2225|5764|4532|1210|0816|0363|SOT)");
items = str.Split(' ');
items[5].Replace(placementOneRegex.ToString(), "");
placementOneListBox.Items.Equals(items);
}
您可能会说.. 这不是最好的方法。我认为string.Split() 是最简单的,然后加入 除了split 之外的所有split[5]... 除了我不知道该怎么做..
- 我的代码不起作用
问题:
- 如何抓取列表框中的每一行并删除最后一条数据(使用
string.Split())? - 有更简单的方法吗?
【问题讨论】:
-
如果你有工作...你为什么要改变它。你可以创建一个字符串数组来匹配我只是不明白这一点。您现在拥有的是更简单的方法,而不必记住每次都更新字符串数组并添加结尾。我也不知道您所说的 split[5] 是什么问题。您如何发布尝试这样做,我们只是从那里开始。
-
删除结尾后数据是否重新加载到同一个列表框中?如果是这样,为什么首先显示结尾?为什么不先修剪多余的部分?
-
@Ramhound:它不起作用 :-/.. 而 split[5] 是 endings 所在的地方,所以我试图替换 split [5] 什么都没有……这在我上面的代码中不起作用……
-
@IAbstract:是的,数据将加载到同一个列表框中。显示结尾的原因是因为我需要查看结尾以确保它们位于正确的位置并且所有内容都已正确加载以及其他问题。然后我必须修剪结尾,以便我可以正确保存列表框项目并将文件加载到另一个位置。
-
*另一个位置 = 我正在运行的另一个程序需要特殊格式