正则表达式标识符和分隔符使用':'符号

时间:2010-08-04 12:47:41

标签: c# asp.net regex

我想在两个':'个字符之间分隔我的字符串。

例如,如果输入为"mypage-google-wax:press:-happy",那么我希望"press"输出。

可以假设输入不包含任何数字字符。

3 个答案:

答案 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);