だから私はこのようなデータを持っています:
((4886.03 12494.89 "LYR3_SIG2"))
常にスペースで区切られるため、正規表現を使用してそれぞれをプロパティに配置したいと考えています。
はい、正規表現で遊んでいました
string q = "4886.03 12494.89 \"LYR3_SIG2";
string clean = Regex.Replace(q, @"[^\w\s]", string.Empty);
しかし、私が目指しているのは、3つの値のそれぞれをこのようなクラスに入れることです
public class BowTies
{
public double XCoordinate { get; set; }
public double YCoordinate { get; set; }
public string Layer { get; set; }
}
今、私はもともとデータをプロパティに解析していました
t = streamReader.ReadLine();
if ((t != null) && Regex.IsMatch(t, "(\\(\\()[a-zA-Z_,\\s\".0-9-]{1,}(\"\\)\\))"))
currentVioType.Bowtie = new ParseType() { Formatted = Regex.Match(t, "(\\(\\()[a-zA-Z_,\\s\".0-9-]{1,}(\"\\)\\))").Value.Trim('(', ')'), Original = t };
しかし今、私は本当にそのデータをダブルスと文字列に入れたいので、このデータはスペースで区切られています ((4886.03 12494.89 "LYR3_SIG2")) リファクタリングの道を歩み始めましたが、一時的にダブルスを取得するために正規表現を使用していませんでした(これは常に最初の2つの値になり、その後に文字列が続くので、これを始めました:
currentAddPla.Bows.Add(new BowTies() { XCoordinate = 44.33, YCoordinate = 344.33, Layer = Regex.Match(t, "(\\(\\()[a-zA-Z_,\\s\".0-9-]{1,}(\"\\)\\))").Value.Trim('(', ')')});
しかし、私は明らかに正規表現を使用し、これを解析して最初の値をダンプする必要があります(ダブルをXCoordinateに、次に2番目の値をYCoordinateに、3番目の値は正規表現がすでにすべてのデータを取得しており、「LYR3_SIG2」の3番目の値のみを取得する必要があります)どちらが正規表現で見つかるはずですか?