Asp.net 具有多个参数的子字符串

Asp.net 具有多个参数的子字符串,asp.net,drop-down-menu,substring,Asp.net,Drop Down Menu,Substring,我有一个下拉列表,其中有两列的值。。。一列是长度从5个字符到8个字符的数字,然后是空格,然后是“|”字符和另一个空格,后面是数字集的说明 例如: 12345678 | Description of Product 为了将dropdownlist的项目拉入我的数据库,我需要使用一个子字符串来仅拉出数字序列 是否可以写入子字符串以提取多个字符长度?(有时可能是6个数字,有时是5个数字,有时是8个数字,这取决于用户从下拉列表中选择的内容。)为此使用正则表达式 假设数字位于字符串的开头,则可以使用以

我有一个下拉列表,其中有两列的值。。。一列是长度从5个字符到8个字符的数字,然后是空格,然后是“|”字符和另一个空格,后面是数字集的说明

例如:

12345678 | Description of Product 
为了将dropdownlist的项目拉入我的数据库,我需要使用一个子字符串来仅拉出数字序列


是否可以写入子字符串以提取多个字符长度?(有时可能是6个数字,有时是5个数字,有时是8个数字,这取决于用户从下拉列表中选择的内容。)

为此使用正则表达式

假设数字位于字符串的开头,则可以使用以下命令:

^[0-9]+
用法:

var theNumbers = RegEx.Match(myDropdownValue, "^[0-9]+").Value;
如果您知道第一部分是您所需要的,并且始终是数字的,那么您也可以使用
string.Split
来获得由
|
分隔的部分:

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


这两种方法中的任何一种都将产生一个字符串。您可以对结果使用
int.Parse
,以便从中获取整数。

您应该使用Split函数,而不是使用substring

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

var number = word[0];

尝试使用正则表达式提取任意长度的数字序列的第一个匹配项。正则表达式看起来像“^\d+”——以任意数量的十进制数字开头。

我就是这样做的

 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);

我如何将其绑定到我的子字符串中?看起来是这样的:value.substring()会是value.substring^[0-9]+??@develophtstars吗?你不会。我建议您使用正则表达式而不是子字符串。O我看到了.NET的新功能,我还不完全熟悉正则表达式。谢谢@@develophtestors-给了您另一个选项。因此,如果我想获取描述部分,它应该是var theNumbers=myDropDownValue.Splist(“|”).tocharray(),StringSplitOptions.removemptyEntries)[0]?