-1
var list = string.Join(",", item.Split(new string[] { "2|" }, StringSplitOptions.RemoveEmptyEntries));

我使用上面的代码,它运行良好。

我想像下面这样拆分,

2| 或 3| 或 4| 或 5| 或 6| 或 7|

如果值为

2|222 程序将继续工作。

如果值是

5|232 程序将继续工作。

我希望程序毫无例外地工作。

我如何根据我的场景使用“或” ?

4

3 回答 3

1

我猜你有一些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][|])",",");
于 2013-10-23T11:06:55.243 回答
1
var regex = new Regex(@"\d\|");
var splitted = regex.Split(yourInput);
于 2013-10-23T10:23:04.923 回答
1

你应该使用 Regex.Split 和这样的模式 [2-7]+| 如果您需要所有数字,请将 [2-7] 替换为 \d。

于 2013-10-23T10:19:48.063 回答