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.Split() 当只有一个项目存在时,如何只将一个项目放入数组中

我假设您的Regex.Replace(exttypes, @"s", "")调用中的正则表达式模式应该是@"'s",而不是@"s"。前者将删除空格;后者将删除所有's'字符,例如将您的".css"扩展转换为 ".c"

来自 MSDN 文档 Regex.Split

如果在输入字符串

中找不到模式,则返回值包含一个元素,其值是原始输入字符串。

因此,错误可能在于您提供输入或解释结果的方式。Split调用正确。

相关文章: