Regex.Split() 当只有一个项目存在时,如何只将一个项目放入数组中
本文关键字:项目 一个 数组 有一个 Split 存在 Regex | 更新日期: 2023-09-27 18:36:12
这似乎有点不寻常,但很可能只需要用户输入框中的一个项目。为了确定为创建工作函数而输入的字符串之间的差异,我在 ;
string[] customlister = Regex.Split(Regex.Replace(exttypes, @"s", ""), ";");
foreach(string c in customlister){
lister.Add(c);
}
exttypes 用于文件的扩展名,例如:
.exe.bat.css
都用分号分隔开来。
如果列表中只有一个项目,即使它以分号结尾,则列表列表不会获得任何信息,则会出现此问题。
我错过了什么明显的东西吗?
答:在 regex.replace() 中添加了 ''s 而不是 s
添加了
exttypes = Settings.Default.customext;
我假设您的Regex.Replace(exttypes, @"s", "")
调用中的正则表达式模式应该是@"'s"
,而不是@"s"
。前者将删除空格;后者将删除所有's'
字符,例如将您的".css"
扩展转换为 ".c"
。
来自 MSDN 文档 Regex.Split
:
如果在输入字符串中找不到模式,则返回值包含一个元素,其值是原始输入字符串。
因此,错误可能在于您提供输入或解释结果的方式。Split
调用正确。