91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET中怎么實現字符串解析操作

發布時間:2021-07-20 11:23:42 來源:億速云 閱讀:104 作者:Leah 欄目:編程語言

本篇文章為大家展示了.NET中怎么實現字符串解析操作,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

首先是“token”,token是最小的信息單元,我們可以把它當作是一個字符串來處理。而多個token則組成了一個token group,token group之間的各token使用“-”進行分割。例如,以下便定義一個了token group:

jeffz-hello-world

一個token group可以用一個字符串數組或列表來表示,例如上面的字符串則表示一個包含三個token的token group,分別是jeffz,hello和world。多個token group則可以組成一整個字符串信息,我們把它稱為text。一個text中的各個token group使用“--”進行分割,例如:

group1-hello--group2-world一個text可以認為是token group的數組或列表。因此,最終從一個text中提取到的信息,則可以用一個字符串數組的列表來表示。例如,以上的text的信息其實就類似于:

new List<string[]> { new string[] { "group1", "hello" }, new string[] { "group2", "world" } }

不過您想到這樣一個問題:“-”是作為分割符使用的,但如果一個token中本身需要包含“-”又該如何呢?于是,我們又引入了單引號,被一組單引號包裹的token,其中所有的“-”被當作是普通的字符處理,不作為分隔符。例如:

jeffz-'hello-world'這樣一個字符串所表示的text,它包含一個token group,其中有兩個token:

new List<string[]> { new string[] { "jeffz", "hello-world" } }

但是,既然單引號也有特殊含義了,那么一個token中又如何表示一個單引號呢?于是乎,我們再定義一個規則,如果一個token中需要包含單引號的話,我們需要使用單引號來包含這個token,并且token中的單引號變成兩個單引號。例如:

jeffz-'hello''''world'它所表示的數據即為:

new List<string[]> { new string[] { "jeffz", "hello''world" } }

text中包含四個單引號,但是表示的數據中只有兩個單引號,這就是我們的“轉義”規則。還有值得注意的是,如果token中需要包含單引號或“-”,那么這個token在表示的時候一定需要用一對單引號包裹起來——這也是為了“簡化規則”。

這次的“趣味編程”便是希望寫一個方法,從text中提取出“數據”,也就是一個List<string[]>,我們假設所有的輸入都是正確的。

那么,這個規則又有什么含義呢?在我的項目中,這個字符串被當作是產品查詢頁面的URL,表示的自然是產品的查詢條件。由于查詢條件非常的豐富,還會根據不同的分類有所改變,因此在URL中表現查詢條件非常的麻煩。例如,淘寶的查詢頁面URL便是這樣的:

http://search2.taobao.com/browse/0/n-g,geytami-g,geytami-------1------7------------------4----0--------------------g,ojsxgzlsozsv64dsnfrwkwzvgaydalbzhe4tsxi---g,whflzr5rxy-------2-------b--40--coefp-0-all-0.htm?search_multi_condition=1&ssid=s1#ListView但是,這個URL對于某個人來說幾乎沒有任何可讀性。普通用戶對此的關注度自然小很多,但是這樣的URL也會給開發人員的工作造成不小的麻煩。在我看來,有一個相對易讀的規則還是很重要的。此外,據說URL中的關鍵字對于SEO也很有幫助(當然這點我不確定)。因此,我們設計了本文這種“自洽”的數據表示方式。如果您足夠“敏感”的話,會發現作為特殊字符的單引號或是“-”符號,它們在URL上是不需要轉義的——這也是我們為它們賦予特殊含義的原因。

于是現在,我們便可以使用這樣的URL字符串來表示一個查詢條件了:

cpu-3.0g--color-red-green-black--price-5000-8000--weight-'3-'--keywords-'levi''s'

這個text拆開后的得到的數據便是:

new List<string[]>{    new string[] { "cpu", "3.0g" },    new string[] { "color", "red", "green", "black" },    new string[]   { "price", "5000", "8000" },    new string[] { "weight", "3-" },    new string[] { "keywords", "levi's" },}

上述內容就是.NET中怎么實現字符串解析操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禹城市| 益阳市| 惠来县| 南皮县| 威海市| 偃师市| 巢湖市| 龙游县| 孝义市| 彩票| 禄丰县| 塘沽区| 富民县| 纳雍县| 绥宁县| 遂昌县| 金塔县| 响水县| 凤山市| 新乡市| 巩留县| 黑龙江省| 武威市| 惠安县| 旺苍县| 玉屏| 桦甸市| 台前县| 天全县| 德庆县| 安西县| 临夏市| 龙陵县| 安化县| 屯留县| 颍上县| 溧水县| 乌兰浩特市| 潼关县| 五华县| 榆中县|