我知道這已經回答了很多次,但我想知道是否有人能教我分割字符串(逗號分隔)的最簡單方法,即字符串數字= 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個變量中?只是對字符串的迭代感到困惑!
可以使用string.Split(...)
方法把所有結果存儲到string array
您Choosen語言的所有包含這些方法
String.split會返回一個字符串數組
我有分解)的字符串作爲 昏暗的話(作爲字符串= string.Split(「」) 工作'使用For Each循環超過的話,並顯示它們 暗淡字作爲字符串 對於每個單詞的話 的Response.Write(字) 接下來 現在我如何將字符串分割成一個array..but如何將其作爲單獨的行 – user2502561
而不是印刷在你的循環插入到屏幕數據庫 – BlackICE
,你可以通過逗號分隔的字符串到數據庫,然後在那裏只分裂。如果使用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
不這樣做,如果你可以避免它。 SQL服務器在集合操作上更好,而不是迭代循環 – BlackICE
以下代碼根據分隔符分割字符串。您可以將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," ");
}
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
哪種語言?您標記3. – Borgleader
我在vb.net – user2502561