簡體   English   中英

用正則表達式分割文本

[英]Split a text with a regular expression

我試圖將文本切開並放入字典中,但我的文本結構不清晰:text:

{
   "about": "where I'm meant to be...",
   "bio": "Visit my official blog at:\n\nhttp://ABC.com/  \n\nAdd me on Twitter:\n\nhttp://www.ABC.com/ABC",
   "category": "Public figure",
   "is_published": true,
   "location": {
      "street": "",
      "city": "Los Angeles",
      "state": "CA",
      "country": "United States",
      "zip": ""
   },
   "talking_about_count": 254637,
   "username": "ABC",
   "website": "http://kimkardashian.celebuzz.com/\nhttp://www.twitter.com/kimkardashian\n",
   "were_here_count": 0,
   "id": "114696805612",
   "name": "ABC",
   "link": "http://www.ABC.com/ABC",
   "likes": 0,
   "cover": {
      "cover_id": "000000000",
      "source": "http://ABC.jpg",
      "offset_y": 0,
      "offset_x": 200
   }
}

如您所見,我使用“,”作為分隔符,問題是存在一些組成的對象,例如:

"location": {
      "street": "",
      "city": "Los Angeles",
      "state": "CA",
      "country": "United States",
      "zip": ""
   },

這就是為什么我不能使用string.Split(' '); 我聽說過正則表達式,但我不知道如何使用它們,是否有任何解決方案可將這些信息分離成字典或任何其他結構

您的數據采用標准格式(JSON),並且已經為它編寫了解析器。 您可以通過Visual Studio中的NuGet輕松下載Json.NET。

正則表達式是一個強大的工具,可以使模式匹配更加簡單。 對我來說,就他們而言。 它們可以用來創建解析器和其他各種東西,但是很復雜。

因此,您可以使用正則表達式創建自己的JSON解析器,但這會花費很多時間。 當有鑰匙可用時,這就像建立一個鎖匙。

JavaScriptSerializer可能滿足您的需求

using System.Web.Script.Serialization;
var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<Dictionary<string,string>>(jsonText);
Console.WriteLine(dict["some_number"]);

請參閱: http : //msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM