分裂为","但不是"/"

vis*_*isc 6 c# regex arrays string split

问题:如何编写表达式来分割字符串','而不是'/,'?后来我想,以取代'/,'', '.

细节...

分隔符:','

Skip Char:'/'

输入示例:"Mister,Bill,is,made,of/,clay"

我想将此输入拆分为一个数组: {"Mister", "Bill", "is", "made", "of, clay"}

我知道如何使用char prev, cur;和一些索引器这样做,但这似乎是beta.

Java Regex具有拆分功能,但我不知道如何在C#中复制此行为.

注意:这不是一个重复的问题,这是相同的问题,但对于不同的语言.

Luk*_*uke 10

我相信你正在寻找负面的背后:

var regex = new Regex("(?<!/),");
var result = regex.Split(str);
Run Code Online (Sandbox Code Playgroud)

这将拆分str所有前面没有斜杠的逗号.如果你想保留'/,'字符串,那么这对你有用.

既然你说要分割字符串然后替换'/,'with ', ',你首先需要做上面的事情,然后你可以遍历结果并替换字符串,如下所示:

var replacedResult = result.Select(s => s.Replace("/,", ", ");
Run Code Online (Sandbox Code Playgroud)