我有以下字符串:
/A//B/C//D
分割时我需要获得以下字符串数组:
A
/B
C
/D
我已经尝试了以下代码,但似乎只是按('/')拆分将省略字符串中任何'/'的出现。
mystring.split('/');
有没有办法让我能做到这一点?
答案 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("`");
[编辑]
或使用正则表达式:)