0

2列の値を含むドロップダウンリストがあります...1列は、5文字から8文字の範囲の数値で、スペース、「|」の順になります。文字と別のスペースの後に、一連の数字の説明が続きます。

例:

12345678 | Description of Product 

ドロップダウンリストのアイテムをデータベースにプルするには、サブストリングを使用して数列のみをプルする必要があります。

複数の文字の長さを引き出すために部分文字列を書くことは可能ですか?(場合によっては6つの数字、場合によっては5つの数字、場合によっては8であり、ユーザーがドロップダウンリストから何を選択したかによって異なります。)

4

4 に答える 4

1

これには正規表現を使用します。

番号が文字列の先頭にあると仮定すると、次を使用できます。

^[0-9]+

使用法:

var theNumbers = RegEx.Match(myDropdownValue, "^[0-9]+").Value;

最初の部分が必要であり、常に数値であることがわかっている場合は、を使用string.Splitして部分を区切ることもできます。|

var theNumbers = myDropdownValue.Split("| ".ToCharArray(), 
                                       StringSplitOptions.RemoveEmptyEntries)[0];

これらのアプローチのいずれかは、文字列になります。int.Parse結果から整数を取得するために、結果に使用できます。

于 2012-06-08T17:58:55.060 に答える
1

これは私がそれをする方法です

 string str = "12345678 | Description of Product";
 int delimiter;
 delimiter = str.IndexOf("|") - 1;

 string ID =str.substring(0, delimiter);

 string desc = str.substring(delimiter + 1, str.length - 1);
于 2012-06-08T18:01:19.020 に答える
0

サブストリングを使用する代わりに、Split関数を使用する必要があります。

var words = phrase.Split(new string[] {" | "},
                     StringSplitOptions.RemoveEmptyEntries);

var number = word[0];
于 2012-06-08T17:59:41.253 に答える
0

正規表現を使用して、任意の長さの数列の最初の一致を引き出してみてください。正規表現は「^\d+」のようになります-任意の10進数で始まります。

于 2012-06-08T17:59:50.860 に答える