子串的多个长度?

时间:2012-05-17 12:47:42

标签: asp.net vb.net substring

子字符串可以有多个参数吗?我将下拉列表中的子字符串拉入我的数据库中以获取记录,字符串介于6到8个数字之间,是否可以传递多个参数以使其工作?

示例数据:

DropDownList

123456 | Name 
1234567 | Name 
12345678 | Name 

dt = ExecuteStoredProcedure(SqlConnection, "InsertData", "@name", ddlE_VN.SelectedValue.Substring(0, 6))

2 个答案:

答案 0 :(得分:3)

根据您显示的数据,这应该有效:

ddlE_VN.SelectedValue.Substring(0, ddlE_VN.SelectedValue.IndexOf(' '))

我们在索引0处开始我们的子串,这是第一个字符。如果空格是第六个字符,它的索引为5,所以我们将返回前5个字符。如果空格是第八个字符,它的索引值为7,所以我们将返回前7个字符等。

答案 1 :(得分:0)

Substring只能接受一个start参数并返回子字符串直到字符串结尾。

如果您的子字符串用空格或其他字符分隔,您可以计算分隔符的索引并在子字符串中使用它。

这样的事情:

string myString = "part1 part2 part3";

int firstSpace = myString.IndexOf(' ');
int secondSpace = myString.LastIndexOf(' ');

string part1 = myString.Substring(0, firstSpace).Trim();
string part2 = myString.Substring(firstSpace, secondSpace - firstSpace).Trim();
string part3 = myString.Substring(secondSpace).Trim();

当然,您也可以使用正则表达式,但由于您的示例数据并不复杂,我个人更喜欢这段代码。