我有以下正则表达式 -
string s = "{\"data\": {\"words\": [{\"wordsText\": \"Three Elephants /d
in the jungle\"}]}}";
string[] words = s.Split('\\',':','[',']','{','}','"');
foreach (string word in words)
{
Console.WriteLine(word);
}
哪些输出 -
data
words
wordsText
Three Elephants /d in the jungle
摆脱输出中前3行的最佳方法是什么,这样我才能得到最后一行 - Three Elephants /d in the jungle
。
我相信如果我在"wordsText\":
之后写出所有文字,这可能是一种可能的方法,我们非常感谢任何帮助。
答案 0 :(得分:6)
你可以肯定使用RegEx,但是因为它看起来像JSON你最好用JSON.NET解析它。
JObject o = JObject.Parse(@"{
""Stores"": [
""Lambton Quay"",
""Willis Street""
],
""Manufacturers"": [
{
""Name"": ""Acme Co"",
""Products"": [
{
""Name"": ""Anvil"",
""Price"": 50
}
]
},
{
""Name"": ""Contoso"",
""Products"": [
{
""Name"": ""Elbow Grease"",
""Price"": 99.95
},
{
""Name"": ""Headlight Fluid"",
""Price"": 4
}
]
}
]
}");
string name = (string)o.SelectToken("Manufacturers[0].Name");
// Acme Co
decimal productPrice = (decimal)o.SelectToken("Manufacturers[0].Products[0].Price");
// 50
string productName = (string)o.SelectToken("Manufacturers[1].Products[0].Name");
// Elbow Grease
这使用JSON.NET Library。
答案 1 :(得分:0)
我会在C#中使用正则表达式,你的表达式就像这样
MatchCollection matchCtrls = Regex.Matches(pageText, @"Th(.*)e", RegexOptions.Singleline);
如果你不知道具体的文字是什么,那么可能是这样的
MatchCollection matchCtrls = Regex.Matches(pageText, @"": \(.*)\", RegexOptions.Singleline);