2つのサブストリングを連結することは可能ですか?正規表現を使用して入力文字列から 例:文字列 "ABTTPQR 00100300250000"を入力し、最初の2文字 "AB"と最初の9桁 "001003002"を取り込み、これら2つの文字列を1つの "AB001003002"
回答:
回答№1は2参照を使用したバリエーションの大幅な短縮:
Regex.Replace("ABTTPQR 00100300250000", @"^(w{2})w*s(d{9})d+$", @"$1$2")
// = "AB001003002"
回答№2の場合は1
あなたは次のようにすることができます:
Regex regex = new Regex(@"(w{2})w*s(d{9})d*");
var matches = regex.Matches("ABTTPQR 00100300250000");
String output = matches[0].Groups[1].Value + matches[0].Groups[2].Value;
//AB001003002
正規表現説明:
(w{2})w*s(d{9})d*
ザ (w{2})
最初の2文字にマッチすると、より多くの文字とスペースが検索されます w*s
最初の9桁に一致します (d{9})
より多くの桁を探します d*
.
ザ ()
マッチをコードサンプルに示すようにC#でアクセスされるグループにキャプチャします: matches[0].Groups[1].Value
グループ1(文字)と matches[0].Groups[2].Value
グループ2(数字)
回答№3の場合は0
この関数を試してください
public static string Concat (string inputString, int charsNumber, int digitsNumber)
{
string [] block = inputString.Split(" ");
return block[0].Substring(0,charsNumber) + block[1].Substring(0,digitsNumber);
}
あなたのコードでそれを呼び出すと、必要なテキストが返されます
Concat("ABTTPQR 00100300250000",2,9)