Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 1.60 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. C# Regex.Split and Regular expression
  2. string myString = "Word 2010|82e146e7-bc85-4bd4-a691-23d55c686f4b;#Videos|55140947-00d0-4d75-9b5c-00d8d5ab8436";
  3.  
  4. string[] guids = Regex.Split(myString,";#");
  5.        
  6. string myString = "Word 2010|82e146e7-bc85-4bd4-a691-23d55c686f4b;#Videos|55140947-00d0-4d75-9b5c-00d8d5ab8436";
  7.  
  8. string[] guids = Regex.Split(myString, ";#")
  9.                       .SelectMany(s => Regex.Split(s, @"|").Skip(1))
  10.                       .ToArray();
  11.  
  12. Assert.AreEqual(2, guids.Length);
  13. Assert.AreEqual("82e146e7-bc85-4bd4-a691-23d55c686f4b", guids[0]);
  14. Assert.AreEqual("55140947-00d0-4d75-9b5c-00d8d5ab8436", guids[1]);
  15.        
  16. string[] guids = String.Split(";").Select(c => c.Substring(c.Length - 36)).ToArray();
  17.        
  18. var guids = Regex
  19.     .Matches(myString, @"HEX{8}-HEX{4}-HEX{4}-HEX{4}-HEX{12}".Replace("HEX", "[A-Fa-f0-9]"))
  20.     .Cast<Match>()
  21.     .Select(m => m.Value)
  22.     .ToArray();
  23.        
  24. string[] guids = myString.Split(';').Select(x => x.Split('|')[1]).ToArray();
  25.        
  26. string myString = "Word 2010|82e146e7-bc85-4bd4-a691-23d55c686f4b;#Videos|55140947-00d0-4d75-9b5c-00d8d5ab8436";
  27.  
  28. //split the string by ";#"
  29. string[] results = myString.Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries);
  30.  
  31. //remove the "value|" part
  32. results[0] = results[0].Substring(results[0].IndexOf('|') + 1);
  33. results[1] = results[1].Substring(results[1].IndexOf('|') + 1);
  34.  
  35. //Same as above, but in a for loop. usefull if there are more then 2 guids to find
  36. //for(int i = 0; i < results.Length; i++)
  37. //  results[i] = results[i].Substring(results[i].IndexOf('|') + 1);
  38.  
  39. foreach(string result in results)
  40.     Console.WriteLine(result);