首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.NET string.replace()并不总是按预期工作

VB.NET string.replace()并不总是按预期工作
EN

Stack Overflow用户
提问于 2013-12-05 15:07:43
回答 1查看 194关注 0票数 3

数据示例:

  • EFT- MONTREAL || 378 STREET AVE
  • EFT TORONTO1 || TESTING 875 RD ADDRESS

我需要从这些中提取:

  • EFT- MONTREAL
  • EFT TORONTO1 (注:这一行的末尾是额外的空间)

这是提取的正确方法吗?

String.Split(" || ")(0)

问题是,有时我会将这些值保存到数据库中:

  • EFT-
  • EFT

我只想知道哪条路是正确的,这样我就可以把每一行都改成正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-05 15:12:08

不,没有接受字符串的重载。因此,您实际上是在使用String.Split的重载,它接受一个ParamArray Char()。但这将检查这些字符是否匹配,所以不仅是整个子字符串匹配。与此相同的是:

代码语言:javascript
复制
 Dim first = text.Split(" "c, "|"c, "|"c, " "c)(0) ' "EFT-"

用这个代替:

代码语言:javascript
复制
Dim first = text.Split({" || "}, StringSplitOptions.RemoveEmptyEntries)(0)

请注意,您也可以使用StringSplitOptions.None,这不是问题所在。

String.Split Method(String(), StringSplitOptions)

返回一个字符串数组,该字符串数组包含此字符串中由指定字符串数组的元素分隔的子字符串。参数指定是否返回空数组元素。

但是请注意,您应该将OPTION STRICT设置为on,这样您的代码甚至不会编译,因为字符串不是Char()隐式的。使用OPTION STRICT off,它将被静默地转换。

Option Strict on by default in VB.NET

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20403461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档