我想为.NET String类编写扩展方法.我希望它是Split方法的一个特殊的方法 - 在分隔符之前使用转义字符时,它采用转义字符来防止拆分字符串.
写这个的最好方法是什么?我很好奇最好的非正则表达式来接近它.
像签名一样的东西......
public static string[] Split(this string input, string separator, char escapeCharacter)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
更新: 因为它出现了一个评论,逃避......
在C#中转义非特殊字符时会出现错误 - CS1009:无法识别的转义序列.
在IE JScript中,转义转义字符.除非你尝试\ u然后你得到一个"预期的十六进制数字"错误.我测试了Firefox,它有相同的行为.
我希望这种方法非常宽容并遵循JavaScript模型.如果你在非分隔符上转义,它应该"善意"删除转义字符.