Vb.net 将逗号分隔的字符串转换为多个字符串

Vb.net 将逗号分隔的字符串转换为多个字符串,vb.net,Vb.net,我知道这个问题已经被回答了很多次,但我想知道是否有人能教我最简单的方法来拆分逗号分隔的字符串,即字符串编号=1,2,3,4,5,7,8,9,10 以致 1 2 3 4 5 6 7 8 9 10 拆分后,我想将其作为单独的第10行插入到数据库表中。我想问一下我将如何做到这一点?是否必须将它们放入10个变量中?只是在字符串的迭代中有点困惑 您可以使用该方法将所有结果存储到字符串数组中 您选择的所有语言都包含使用字符串的此类方法。拆分将返回字符串数组。您可以将逗号分隔的字符串传递给数据库,然后仅在那

我知道这个问题已经被回答了很多次,但我想知道是否有人能教我最简单的方法来拆分逗号分隔的字符串,即字符串编号=1,2,3,4,5,7,8,9,10

以致

1
2
3
4
5
6
7
8
9
10
拆分后,我想将其作为单独的第10行插入到数据库表中。我想问一下我将如何做到这一点?是否必须将它们放入10个变量中?只是在字符串的迭代中有点困惑

您可以使用该方法将所有结果存储到字符串数组中


您选择的所有语言都包含使用字符串的此类方法。

拆分将返回字符串数组。

您可以将逗号分隔的字符串传递给数据库,然后仅在那里拆分。如果使用sql,则可以使用以下函数

CREATE FUNCTION dbo.fnSplit(
    @sInputList VARCHAR(8000) -- List of delimited items
  , @sDelimiter VARCHAR(8000) = ',' -- delimiter that separates items
) RETURNS @List TABLE (item VARCHAR(8000))

BEGIN
DECLARE @sItem VARCHAR(8000)
WHILE CHARINDEX(@sDelimiter,@sInputList,0) <> 0
 BEGIN
 SELECT
  @sItem=RTRIM(LTRIM(SUBSTRING(@sInputList,1,CHARINDEX(@sDelimiter,@sInputList,0)-1))),
  @sInputList=RTRIM(LTRIM(SUBSTRING(@sInputList,CHARINDEX(@sDelimiter,@sInputList,0)+LEN(@sDelimiter),LEN(@sInputList))))

 IF LEN(@sItem) > 0
  INSERT INTO @List SELECT @sItem
 END

IF LEN(@sInputList) > 0
 INSERT INTO @List SELECT @sInputList -- Put the last item in
RETURN
END
GO

下面的代码根据分隔符拆分字符串。您可以将StringSplitOptions设置为忽略空条目或将空条目添加到字符串数组中

//C#
String sentence = "1,2,3,4,5,6,7,8,9";
String[] delim = {","};
String[] words = sentence.Split(delim,StringSplitOptions.RemoveEmptyEntries );

下面的代码是用C++实现的。它接受一行作为用户的输入,并使用strtok根据分隔符拆分字符串

//C++
string line;
char* word;
getline(cin,line);
word = strtok(const_cast<char*>(line.c_str())," ");
while(word)
{
   //input this word in container of your choice
   word = strtok(NULL," ");
}

我知道它已经5个月了,但以防万一你还需要答案:

dim stringNumber as string = "1,2,3,4,5,6,7,8,9,10"

Dim stringSpiltArray as string()
If Not stringNumber Is Nothing And stringNumber.Length <> 0 Then 
   stringSpiltArray = stringNumber.Split(',')
End If

For Each str As String In stringSpiltArray 
  'insert into db
Next
使用“拆分”将字符串拆分并将分隔的值存储在数组中


然后对数组中的每个项目使用for-each循环。

使用哪种语言?你标记了3。我在vb.neti中工作。我将字符串分解为字符串=字符串。拆分,'用于单词上的每个循环,并将它们显示为单词响应中每个单词的字符串。Writeword下一步我如何将字符串拆分为数组..但如何将其作为单独的行插入,而不是打印到循环中的屏幕插入数据库如果可以避免,请不要这样做。SQL服务器在设置操作上更好,而不是迭代C和C++的循环,这是一个VB.NET问题。
Dim substr As String() = txtString.Text.Split(", ")

For Each strnumber As Integer In substr
     txtoutput.Text=strnumber & vbNewLine
Next
Dim substr As String() = txtString.Text.Split(", ")

For Each strnumber As Integer In substr
     txtoutput.Text=strnumber & vbNewLine
Next