代碼:不當行爲
Dim list1 As New List(Of String)(line_items.Split("<<>>"))
我試圖分裂以下字符串。
line_items=8903385828097<>PRINTED TWILL DUNGAREES<>1<>25.94<>50.00<>497.50<>524.86<>995.00<<>>
獲取錯誤信息。請參考輸出:
代碼:不當行爲
Dim list1 As New List(Of String)(line_items.Split("<<>>"))
我試圖分裂以下字符串。
line_items=8903385828097<>PRINTED TWILL DUNGAREES<>1<>25.94<>50.00<>497.50<>524.86<>995.00<<>>
獲取錯誤信息。請參考輸出:
你可以試試這個代碼:
Dim list1 As New List(Of String)(line_items.Replace("<<>>", "").Replace("<>", "#").Split("#"))
的Split
方法採用Char
類型的參數。由於您已通過String
類型的參數,因此您的代碼將無法使用「Option Strict On」進行編譯。當選項Strict關閉時,編譯器將隱式類型轉換從String
變爲Char
,因此會傳遞「<」c(第一個字符)而不是「< < >>」。
如果要分割字符串「<>」或「< < >>」,則必須將其中一個值作爲字符串數組的唯一元素傳遞。
Dim list1 As New List(Of String)(line_items.Split(New String() {"<>"}, StringSplitOptions.None))
Dim list1 As New List(Of String)(line_items.Split(New String() {"<<>>"}, StringSplitOptions.None))
以下是代碼:
Dim list1 As New List(Of String)(line_items.Split(New String() {"<<>>"}, StringSplitOptions.RemoveEmptyEntries))
我用New Char()
代替New String()
。 New String()
運行良好。
先生,我知道我可以使用替換函數來替換一些單個字符和<>與其他單個字符,但爲什麼split函數的行爲是這樣的? –
我明白你正在尋找解決方案來解決你的問題 – romulus001
是的男人!感謝您的參與。 –