var list = string.Join(",", item.Split(new string[] { "2|" }, StringSplitOptions.RemoveEmptyEntries));
我使用上面的代码,它运行良好。
我想像下面这样拆分,
2| 或 3| 或 4| 或 5| 或 6| 或 7|
如果值为
2|222 程序将继续工作。
如果值是
5|232 程序将继续工作。
我希望程序毫无例外地工作。
我如何根据我的场景使用“或” ?
我猜你有一些particular set
格式需要关心,不是所有的都有格式\d|
,如果是这样你也可以尝试使用Regex
,但为了简单起见,我们总是可以使用传入string.Split
的数组string
来分割字符串中的任何一个数组元素,像这样:
var list = string.Join(",", item.Split(new string[] { "2|", "3|", "4|", "5|", "6|", "7|" },
StringSplitOptions.RemoveEmptyEntries));
对于regex version
,你应该使用Regex.Replace
这样的:
var list = Regex.Replace(item, "(?<![2-7][|])[2-7][|](?![2-7][|])",",");
var regex = new Regex(@"\d\|");
var splitted = regex.Split(yourInput);
你应该使用 Regex.Split 和这样的模式 [2-7]+| 如果您需要所有数字,请将 [2-7] 替换为 \d。