数据示例:
EFT- MONTREAL || 378 STREET AVEEFT TORONTO1 || TESTING 875 RD ADDRESS我需要从这些中提取:
EFT- MONTREALEFT TORONTO1 (注:这一行的末尾是额外的空间)这是提取的正确方法吗?
String.Split(" || ")(0)
问题是,有时我会将这些值保存到数据库中:
EFT-EFT我只想知道哪条路是正确的,这样我就可以把每一行都改成正确的。
发布于 2013-12-05 15:12:08
不,没有接受字符串的重载。因此,您实际上是在使用String.Split的重载,它接受一个ParamArray Char()。但这将检查这些字符是否匹配,所以不仅是整个子字符串匹配。与此相同的是:
Dim first = text.Split(" "c, "|"c, "|"c, " "c)(0) ' "EFT-"用这个代替:
Dim first = text.Split({" || "}, StringSplitOptions.RemoveEmptyEntries)(0)请注意,您也可以使用StringSplitOptions.None,这不是问题所在。
String.Split Method(String(), StringSplitOptions)
返回一个字符串数组,该字符串数组包含此字符串中由指定字符串数组的元素分隔的子字符串。参数指定是否返回空数组元素。
但是请注意,您应该将OPTION STRICT设置为on,这样您的代码甚至不会编译,因为字符串不是Char()隐式的。使用OPTION STRICT off,它将被静默地转换。
https://stackoverflow.com/questions/20403461
复制相似问题