我做用分隔符「/」以下字符串的分裂 的問題是,在相同的字符串我有一個「-」字,就是想刪除它,我有有後的。分割字符串而忽略分隔符的字符?
輸入
var test = "This/ is /a - test";
test.Split('/');
輸出
test[0] = "This"
test[1] = "is"
test[2] = "a - test"
在測試[2]應該是 「a」
我做用分隔符「/」以下字符串的分裂 的問題是,在相同的字符串我有一個「-」字,就是想刪除它,我有有後的。分割字符串而忽略分隔符的字符?
輸入
var test = "This/ is /a - test";
test.Split('/');
輸出
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));
這將產生:
This>is>a normal>and quite>test
爲什麼會,爲什麼它不保留空間和「 - 測試「部分? – BugFinder
目前這些信息與我無關 –
「This/is/a - test/and - another/test'怎麼辦? –