split string返回不同的结果

时间:2017-02-28 17:42:59

标签: .net vb.net split

我有分裂文字的问题

Dim strText as String = "Listings/Listing"
Dim separator as String = "Listings/"
Dim arr as string() = strText.split(separator)

我的代码返回3个结果

arr(0) = ""
arr(1) = "istings/"
arr(2) = "isting"

有什么问题?为什么会这样?我需要从Listing

获得strText

测试:http://rextester.com/VNQ39065

3 个答案:

答案 0 :(得分:1)

也许你的意思是

Dim strText as String = "Listings/Listing"
Dim separator as String = "/"
Dim arr as string() = strText.split(separator)

arr(0) = "Listings"
arr(1) = "Listing"

答案 1 :(得分:1)

请尝试这种方式,

 Dim StrText As String = "Listings/Listing"
 Dim arr as string() = Split(StrText, "Listings/")

.split方法的工作方式不同,并且使用特定的重载基于字符,所以它只使用分隔符字符串中的第一个“L”c。

答案 2 :(得分:1)

作为另一种选择,使用split的String()重载之一对原始文件的更改也将起作用,例如:

Dim strText as String = "Listings/Listing"
Dim separator as String() = {"Listings/"}
Dim arr as string() = strText.split(separator, StringSplitOptions.RemoveEmptyEntries)

结果应该是:

arr(0) = "Listing"

有关用法的更多详细信息,请参阅有关String.Split方法(String(),StringSplitOptions)的MSDN文档。如果您使用None代替RemoveEmptyEntries,则会返回一个包含String.Empty第一个元素的双元素数组。