我知道这已经回答了很多次,但我想知道是否有人可以教我分割字符串(逗号分隔)的最简单方法,即字符串编号 = 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 个变量中?只是对字符串的迭代有点困惑!
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
我知道它已经 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
循环。
Dim substr As String() = txtString.Text.Split(", ")
For Each strnumber As Integer In substr
txtoutput.Text=strnumber & vbNewLine
Next
下面的代码根据分隔符拆分字符串。您可以将 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," ");
}
您可以使用该string.Split(...)
方法将所有结果存储到string array
您选择的所有语言都包含此类方法
使用String.split()
将返回一个字符串数组。
您可以将逗号分隔的字符串传递给数据库,然后仅在那里拆分。如果使用 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