gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:41:19 24 4
gpt4 key购买 nike

数据示例:

  • EFT- 蒙特利尔 ||大街 378 号
  • EFT TORONTO1 ||测试 875 RD 地址

我需要从这些中提取什么:

  • EFT- 蒙特利尔
  • EFT TORONTO1(注意:此行末尾是多余的空格)

这是提取的正确方法吗?
String.Split("|| ")(0)

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

  • EFT-
  • 电子转账

我只想知道哪种方式是正确的,这样我就可以将每一行更改为正确的。

最佳答案

不,没有接受字符串的重载。所以你实际上是在使用 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)

Returns a string array that contains the substrings in this string that are delimited by elements of a specified string array. A parameter specifies whether to return empty array elements.

但请注意,您应该将 OPTION STRICT 设置为 on,这样您的代码甚至无法编译,因为字符串不是 Char() 含蓄地。在 OPTION STRICT 关闭 的情况下,它将以静默方式进行转换。

Option Strict on by default in VB.NET

关于VB.NET string.replace() 并不总是按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20403461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com