0

次のような文字列のリストがあります

[ABC].[XXX].sdfnwoaenwaf
[ABC].[XXX].sdfnwoaenwaf
[ABC].[XX1].sdfnwoaenwaf
[ABC].[XX1].sdfnwoaenwaf
[AB1].[XX3].sdfnwoaenwaf
[AB2].[XX1].sdfnwoaenwaf

2番目のドットの前にすべてを取得するにはどうすればよいですか? たとえば[ABC].[XXX]、最初のもの。

4

4 に答える 4

2

(.*)\.必要な正規表現です。http://regexhero.net/tester/でテストできます。

于 2013-04-12T05:39:11.337 に答える
1
string x = "[AB2].[XX1].sdfnwoaenwaf";

Regex regex = new Regex("([^.]+\\.[^.]+)\\.");
Match match = regex.Match(x);
if (match.Success)
{
    Console.WriteLine(match.Groups[1].Value);
}

出力:

[AB2].[XX1]
于 2013-04-12T05:49:03.500 に答える
1
List<string> finalStrings = new List<string>();
List<string> strings = new List<string>();
strings.Add("[ABC].[XXX].sdfnwoaenwaf");
strings.Add("[ABC].[XXX].sdfnwoaenwaf");
strings.Add("[ABC].[XX1].sdfnwoaenwaf");
strings.Add("[ABC].[XX1].sdfnwoaenwaf");
strings.Add("[ABC].[XX3].sdfnwoaenwaf");
strings.Add("[ABC].[XX1].sdfnwoaenwaf");

foreach (var item in strings)
{
     Regex rex = new Regex("(.*)\\.");
     string[] y = rex.Split(item);
     finalStrings.Add(y[1]);
}
于 2013-04-12T05:54:40.010 に答える