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

时间:2013-08-04 17:19:07

标签: vb.net

我知道这已经被多次回答,但我想知道是否有人可以教我最简单的方法来分割字符串(逗号分隔),即字符串数= 1,2,3,4,5,7,8, 9,10

这样

1
2
3
4
5
6
7
8
9
10

分割之后我想将它作为单独的行(10行)插入到数据库表中。我想问我将如何做到这一点?我是否必须将它们放入10个变量中?只是对迭代过程有点困惑字符串!

7 个答案:

答案 0 :(得分:1)

Dim LineOfText As String = "1,2,3,4,5,6,7,8,9,10" 
Dim i As Integer
Dim aryTextFile() As String

aryTextFile = LineOfText.Split( "," )

For i = 0 To UBound(aryTextFile)

MsgBox( aryTextFile(i) )

Next i

答案 1 :(得分:1)

我知道它已有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

使用split()拆分字符串并将分隔的值存储在array中。

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

答案 2 :(得分:1)

Dim substr As String() = txtString.Text.Split(", ")

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

答案 3 :(得分:0)

您可以使用string.Split(...)方法将所有结果存储到string array

您所有选择的语言都包含此类方法

答案 4 :(得分:0)

使用String.split()将返回一个字符串数组。

答案 5 :(得分:0)

您可以将逗号分隔的字符串传递给db,然后仅将其拆分。如果使用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

答案 6 :(得分:0)

以下代码根据分隔符拆分字符串。您可以将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," ");
}