字符串拆分连续重复字符

时间:2014-05-01 23:55:18

标签: c# string string-split

我有以下字符串:

/A//B/C//D

分割时我需要获得以下字符串数组:

A
/B
C
/D

我已经尝试了以下代码,但似乎只是按('/')拆分将省略字符串中任何'/'的出现。

mystring.split('/');

有没有办法让我能做到这一点?

2 个答案:

答案 0 :(得分:4)

当然,您可以使用regular expression。例如:

var input = "/A//B/C//D";
var result = Regex.Split(input, "(?<!/)/");

这会将字符串拆分为任何/字符,而不是另一个/字符。不幸的是,您将获得结果数组的第一个元素的空字符串。如果这是一个问题,你可以简单地使用一点Linq来过滤它:

var result = Regex.Split(input, "(?<!/)/").Skip(1).ToArray();

var result = Regex.Split(input, "(?<!/)/").Where(s => s.Length > 0).ToArray();

答案 1 :(得分:0)

试试这个:

sArray = s.Replace("//", "~").Replace("/", "`").Replace("~", "`/").Split("`");

[编辑]

或使用正则表达式:)