我想在两个':'
个字符之间分隔我的字符串。
例如,如果输入为"mypage-google-wax:press:-happy"
,那么我希望"press"
输出。
可以假设输入不包含任何数字字符。
答案 0 :(得分:3)
完全使用正则表达式的任何理由,而不仅仅是:
string[] bits = text.Split(':');
这是假设我正确地理解了你的问题......我完全不确定。无论如何,根据你真正想做的事情,这个可能对你有用......
答案 1 :(得分:1)
如果您总是要使用{stuffIDontWant}:{stuffIWant}:{moreStuffIDontWant}
格式的字符串,那么String.Split()
就是您的答案,而不是正则表达式。
要检索该中间值,您需要:
string input = "stuffIDontWant:stuffIWant:moreStuffIDontWant"; //get your input
string output = "";
string[] parts = input.Split(':');
//converts to an array of strings using the character specified as the separator
output = parts[1]; //assign the second one
return output;
正则表达式适用于模式匹配,但是,除非您专门查找单词press
,否则String.Split()
可以更好地满足此需求。
答案 2 :(得分:1)
如果你想要它在正则表达式:
string pattern = ":([^:]+):";
string sentence = "some text :data1: some more text :data2: text";
foreach (Match match in Regex.Matches(sentence, pattern))
Console.WriteLine("Found '{0}' at position {1}",
match.Groups[1].Value, match.Index);