字符串.分割使用string[]但不使用char[]的新行

本文关键字:char 新行 string 字符串 分割 | 更新日期: 2023-09-27 18:17:19

检查此代码:

   string t = @"'nazerty 'n'nazerty 'n'nazerty 'nazerty";
   string[] firstMethod = t.Split(new char[]{''n'}, StringSplitOptions.RemoveEmptyEntries);
   string[] secondMethod = t.Split(new string[]{@"'n"}, StringSplitOptions.RemoveEmptyEntries);

为什么第一个方法不工作,第二个方法可以??

Thx

字符串.分割使用string[]但不使用char[]的新行

这不起作用,因为您使用的是逐字字符串,即:

string t = @"'nazerty 'n'nazerty 'n'nazerty 'nazerty";

…相当于:

string t = "''nazerty ''n''nazerty ''n''nazerty ''nazerty";

很可能您实际上想要以下内容,它使用换行字符而不是字面反斜杠-n:

string t = "'nazerty 'n'nazerty 'n'nazerty 'nazerty";

这将在new[] { "'n" }new[] { ''n' }上"成功"分割(但不是 new[] { @"'n" },它期望反斜杠-反斜杠-n)。