C# 是否在忽略分隔符的字符时拆分字符串?

C# 是否在忽略分隔符的字符时拆分字符串?,c#,C#,我正在使用分隔符“/”拆分以下字符串 问题是,在同一个字符串中,我有一个“-”字符,希望删除它,然后删除后面的内容 输入 输出 test[0] = "This" test[1] = "is" test[2] = "a - test" 在测试[2]中,首先拆分-字符上的字符串,它应该是“a”。您说过您希望忽略之后的所有内容,因此获取结果数组的[0]索引,并在上执行第二个字符串拆分,拆分时间:/ var test = "This/ is /a - test"; string[] hyphenSpl

我正在使用分隔符“/”拆分以下字符串 问题是,在同一个字符串中,我有一个“-”字符,希望删除它,然后删除后面的内容

输入

输出

test[0] = "This"
test[1] = "is"
test[2] = "a - test"

在测试[2]中,首先拆分
-
字符上的字符串,它应该是“a”。您说过您希望忽略之后的所有内容,因此获取结果数组的
[0]
索引,并在上执行第二个字符串拆分,拆分时间:
/

var test = "This/ is /a - test";
string[] hyphenSplit = test.Split('-');
string[] slashSplit = hyphenSplit[0].Split('/');
再次将其拆分为“-”

test[2] = test[2].Split('-')[0];

这对你有用吗

var test = "This/ is /a - test";
var split1 = test.Split('-');
var split2 = split1[0].Split('/');

基本上是maccettura所说的。

基于一组明确捕获的正则表达式解决方案:

String myText = "This/ is /a normal - test/ and quite - another/ test";

Regex regex = new Regex(@"[/]?\s*(?<part>[^-/]+[^-/\s])[^/]*[/]?", RegexOptions.ExplicitCapture);

var strings = regex.Matches(myText).Cast<Match>().Select(match => match.Groups["part"].Value);

Console.WriteLine(strings.Aggregate((str1, str2) => str1 + ">" + str2));
String myText=“This/is/a normal-test/和quit-other/test”;
Regex Regex=new Regex(@“[/]?\s*(?[^-/]+[^-/\s])[^/]*[/]?”,RegexOptions.ExplicitCapture);
var strings=regex.Matches(myText.Cast().Select(match=>match.Groups[“part”].Value);
Console.WriteLine(strings.Aggregate((str1,str2)=>str1+“>”+str2));
这将产生:


This>是一个正常的>和相当的>测试

为什么它会,为什么它不保留空格和“-test”部分?这些信息目前与我无关
这个/is/a-test/和-other/test
?如果有
-
你也要拆分它吗?或者干脆把
-
到结尾的所有内容都删除?@EpicKip,只要删除就行了是的,我可以用它。非常感谢你
String myText = "This/ is /a normal - test/ and quite - another/ test";

Regex regex = new Regex(@"[/]?\s*(?<part>[^-/]+[^-/\s])[^/]*[/]?", RegexOptions.ExplicitCapture);

var strings = regex.Matches(myText).Cast<Match>().Select(match => match.Groups["part"].Value);

Console.WriteLine(strings.Aggregate((str1, str2) => str1 + ">" + str2));