我知道这已经被多次回答,但我想知道是否有人可以教我最简单的方法来分割字符串(逗号分隔),即字符串数= 1,2,3,4,5,7,8, 9,10
这样
1
2
3
4
5
6
7
8
9
10
分割之后我想将它作为单独的行(10行)插入到数据库表中。我想问我将如何做到这一点?我是否必须将它们放入10个变量中?只是对迭代过程有点困惑字符串!
答案 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," ");
}