看起来有点不寻常,但很可能只需要用户输入框中的一个项目。要确定为创建工作函数而输入的字符串之间的差异,我在;
上使用regex.splitstring[] customlister = Regex.Split(Regex.Replace(exttypes, @"s", ""), ";");
foreach(string c in customlister){
lister.Add(c);
}
exttypes用于扩展文件,例如:
.EXE; 。蝙蝠;的CSS
所有人都用半结肠分开了。如果列表中只有一个项目,即使它以半冒号结尾,列表名单也不会获得任何信息。
有没有明显的遗漏?
答案: 在regex.replace()
中添加\ s而不是s已添加
exttypes = Settings.Default.customext;
答案 0 :(得分:0)
我认为Regex.Replace(exttypes, @"s", "")
来电中的正则表达式模式应该是@"\s"
,而不是@"s"
。前者将删除空格;后者将删除所有's'
字符,将".css"
扩展名转换为".c"
。
来自Regex.Split
上的MSDN文档:
如果在 input 字符串中找不到 pattern ,则返回值包含一个元素,其值为原始输入字符串。
因此,错误可能在于您提供输入或解释结果的方式。 Split
来电是正确的。