2017-10-01 12 views
-1

誰かが正規表現や部分文字列のオプションを手伝ってくれるのだろうかと思います。あなたをC#で文字列の一部を抽出してフォーマットする

.*?\(.*?, "(?<Group>.*?)",.*?, "(?<WhatEverPP01Is>.*?)",.* 

その後:あなたはこの問題を解決するために正規表現を使用することができPP01 - People

+1

行の形式とサイズは常に同じですか? – oRole

+0

@Satyaあなたは、英数字の文字列か、それとも2つの文字列がほしいと言っていますか? – Deepak

+0

コンマ区切りリストの2番目と4番目の項目を意味しますか?あなたは必要なものを十分に説明していません。 – Crowcoder

答えて

0

ライン1( "アプリケーション"、 "人"、 "人DB"、 "PP01"、1、X、 "Y")]
回線2(」..すべての行が同じに構成されていると仮定すると、 「人」、「人DB」、「PP03」、「X」、「Y」)]
Line3(「アプリケーション」、「人」、「人DB」、「PP03」、

string str = "\"Application\", \"People\", \"people DB\", \"PP01\", 1, X, \"Y\""; 
string[] parts = str.Replace("\"", string.Empty) 
        .Split(new string[] { ", " }, StringSplitOptions.None); 

Console.Write(parts[3] + " - " + parts[1]); 

出力は次のようになります: "Y")]

は..あなたは、文字列のメソッド.Replace()と.Split()を使用することができを

+0

ありがとうございます。これはうまくいった。私はstr.Replaceの部分をしましたが、。Splitには問題がありました。あなたはお勧めです。働いた。ありがとうございました ! – Satya

+0

あなたは大歓迎です! – oRole

0

:抽出して表示したいと思い、以上のことから

Line1 ("Application", "People", "people DB", "PP01", 1, X, "Y")] 

私は、文字列を持っています正規表現と一致する:

Regex regex = new Regex(".*?\\(.*?, \"(?<Group>.*?)\",.*?, \"(?<WhatEverPP01Is>.*?)\",.*"); 

var match = regex.Match("YourStringToMatch"); 

if (match.Success) 
{ 
    // Here you can access the group values: 
    var groupValue = match.Groups["Group"].Value; 
    var whateverPP01Is = match.Groups["WhatEverPP01Is"].Value; 
} 
+1

あなたのソリューションも同様に機能しました。助けを感謝します! – Satya

関連する問題