簡體   English   中英

C#中的RegEx組

[英]RegEx groups in C#

我有包含產品信息的字符串,我想解析該字符串並讀取產品信息。

我的字符串如下所示:

ID: 1
NAME: Product name
INFORMATION: Here goes the information about a product 
STATUS: Available

我想以此方式解析此文本:

string id = product id;
string name = product name;
string info = product information; 
string available = product availability; 

我該怎么做。 我知道有可能與團體合作,但我被困住了,不怎么做。

提前致謝。

您可以非常輕松地將數據解析為例如字典。 請注意,這里您實際上不需要正則表達式,如果沒有正則表達式則更好:

var values  = data.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                  .Select(line => line.Split(":".ToCharArray(), 2))
                  .ToDictionary(pair => pair[0], pair => pair[1], 
                                StringComparer.OrdinalIgnoreCase);
string name = values["name"];

正則表達式選項,並進行一些空間調整:

var values = Regex.Matches(data, @"^(?<Key>\w+)\s*:\s*(?<Value>.*?)\s*$", RegexOptions.Multiline)
                  .Cast<Match>()
                  .ToDictionary(m => m.Groups["Key"].Value,
                                m => m.Groups["Value"].Value,
                                StringComparer.OrdinalIgnoreCase);

暫無
暫無

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

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