1

こんにちは、別の文字列から数字のみを抽出するのを手伝ってくれる人がいます..私の文字列が次のようであると仮定します

AB12(100).HJI(20).D76R(222)

次のような出力が必要です。

  100.20.222(I need to get the digits which are in brackets appended with dot)
4

5 に答える 5

0

この置換正規表現を使用することもできます。

/[A-Za-z0-9]+\((\d+)\)/$1/g

C#コードは次のようになります。

string input = "AB12(100).HJI(20).D76R(222)";
string pattern = @"[A-Za-z0-9]+\((\d+)\)";
string result = System.Text.RegularExpressions.Regex.Replace(input, pattern, "$1");
于 2012-08-23T08:20:31.773 に答える
0

別の即興演奏:

string input = "AB12(100).HJI(20).D76R(222)";
string output = string.Join(".", Regex.Matches(input, @"\((?<value>\d{1,})\)").OfType<Match>().Select(m => m.Groups["value"].Value));
于 2012-08-23T08:13:58.920 に答える
0
var value = @"AB12(100).HJI(20).D76R(222)"; 
var matches = Regex.Matches(value, @"(?<=\()(\d+)(?=\))");
var result = String.Join(".", matches.OfType<Match>().Select(x => x.Value).ToArray());
于 2012-08-23T08:14:12.853 に答える
0

Ok。それはかなり単純です:

var value = @"AB12(100).HJI(20).D76R(222)"; 
MatchCollection matches = Regex.Matches(value, @"(?<=\()(\d+)(?=\))");  
var result = String.Join(matches, ".")
于 2012-08-23T08:06:46.453 に答える
0

ちょうど別のバージョン

 string text = "AB12(100).HJI(20).D76R(222)";
 MatchCollection match = Regex.Matches(text, @"\(\d+\)"); //(100)(20)(222)
 string[] digits = new string[match.Count];

 for(int i=0; i<digits.Length;i++)
 {
     digits[i] = match[i].Value.Trim(new char[]{'(',')'});
 }
 string output = String.Join(".", digits); //100.20.222
于 2012-08-23T08:26:31.977 に答える