C# 无法使用字符串拆分字符串。拆分(';\&';';&)

C# 无法使用字符串拆分字符串。拆分(';\&';';&),c#,string,split,C#,String,Split,我有一个字符串是“G:\Seriez\Futurama”,我想用“\”来拆分它。下面的代码不起作用 string[] words = filePath.Split('\''); foreach (string word in words) { MessageBox.Show(word); } 您的代码不起作用,因为当您尝试在反斜杠上拆分时,您没有正确转义,实际上是在单引号字符上拆分。拆分的正确方法是执行以下操作: var words = filePath.Split('\\');

我有一个字符串是“G:\Seriez\Futurama”,我想用“\”来拆分它。下面的代码不起作用

string[] words = filePath.Split('\'');

foreach (string word in words)
{
    MessageBox.Show(word);
}

您的代码不起作用,因为当您尝试在反斜杠上拆分时,您没有正确转义,实际上是在单引号字符上拆分。拆分
的正确方法是执行以下操作:

var words = filePath.Split('\\');

额外的斜杠将正确转义,从而允许
拆分
正确处理反斜杠。您可以找到有关转义字符的详细信息

您也可以使用字符串前面的
字符号来拆分字符串

var somesplitString = @"G:\Seriez\Futurama";
var msgList = new List<string>();
string[] words = somesplitString.Split('\\');
foreach (string word in words)
{
   msgList.Add(word);
}
MessageBox.Show(string.Join(",", msgList));
var somesplitString=@“G:\Seriez\Futurama”;
var msgList=新列表();
string[]words=somesplitString.Split('\\');
foreach(单词中的字符串)
{
msgList.Add(word);
}
Show(string.Join(“,”,msgList));
通过这种方式,您可以只显示一次消息框,并将所有3个值分开

使用以下代码

  var words =filePath.Split(Path.DirectorySeparatorChar);
  foreach (string word in words)
   {
    MessageBox.Show(word);
   }

您应该使用另一个反斜杠来转义反斜杠。您粘贴的代码是拆分
而不是斜杠。您可以通过粘贴文件路径更快地在google上找到答案。拆分(“\”)到搜索中。。。大多数开发人员至少会自己尝试找到答案。。。只是说说而已。