-7

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

这样

1
2
3
4
5
6
7
8
9
10

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

4

7 回答 7

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
于 2013-08-05T06:44:12.243 回答
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循环。

于 2014-01-08T19:44:40.023 回答
1
Dim substr As String() = txtString.Text.Split(", ")

For Each strnumber As Integer In substr
     txtoutput.Text=strnumber & vbNewLine
Next
于 2014-04-01T10:22:55.110 回答
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," ");
}
于 2013-08-04T17:51:11.823 回答
0

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

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

于 2013-08-04T17:20:48.700 回答
0

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

于 2013-08-04T17:21:23.347 回答
0

您可以将逗号分隔的字符串传递给数据库,然后仅在那里拆分。如果使用 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
于 2013-08-04T17:23:34.763 回答