0

C#/.NET 4.0

18 桁の数字を含む文字列を解析する必要があります。左右の部分文字列も必要です。
文字列の例:

string a = "Frl Camp Gerbesklooster 871687120000000691 OPLDN 2010 H1";
string b = "some text with spaces 123456789012345678 more text";

解析方法:

string aParsed[0] = "Frl Camp Gerbesklooster";
string aParsed[1] = "871687120000000691";
string aParsed[2] = "OPLDN 2010 H1";

string bParsed[0] = "some text with spaces";
string bParsed[1] = "123456789012345678";
string bParsed[2] = "more text";

文字列の真ん中には常にその 18 桁の数字があります。私は正規表現の初心者なので、実際に自分で試したことはありません。
これを行う最善の方法は何ですか?正規表現を使用する必要がありますか?
ありがとう。

4

2 に答える 2

3

正規表現のようなものを使用できます:(.*)(\d{18})(.*)

ここで重要なのは、正確に数字{18}が必要であることを指定し、グループ内の各部分をキャプチャするために使用することです。18

var parts = Regex.Matches(s, @"(.*)(\d{18})(.*)")
    .Cast<Match>()
    .SelectMany(m => m.Groups.Cast<Group>().Skip(1).Select(g=>g.Value))
    .ToArray();
于 2012-04-10T09:54:29.300 に答える
0

ダニエル、

質問には答えられていますが、以下は Reg Expressions を学習するための参考になるかもしれません。

http://txt2re.com

よろしく、リアム

于 2012-04-10T17:27:35.727 に答える