【问题标题】:Filtering a string in VB.Net在 VB.Net 中过滤字符串
【发布时间】:2021-03-11 21:31:19
【问题描述】:

我很糟糕和 VB.Net,所以我有点迷失如何处理这个要过滤的字符串。

我有一个字符串:"294.00" & vbCrLf & "$10,831.99" & vbCrLf & "191 lbs." & vbCrLf & "15,929 lbs."

基本上,我需要获取第二个数值:10,831.99,然后过滤掉其余的垃圾。

我不知道该怎么做。可能是 REGEX(我不知道如何在 VB.NET 中使用)或标准 LIB 中的其他一些内置功能?

我试过了: myString.Split(Environment.NewLine)(0).ToString()

但我只得到第一个数值:294.00,这是不正确的。

任何意见或建议/提示将不胜感激!谢谢

【问题讨论】:

  • 可能类似于:Dim theValue = [TheString].Split({vbCrLf}, StringSplitOptions.RemoveEmptyEntries)(1).TrimStart("$"c)

标签: .net string vb.net filter


【解决方案1】:

你已经解决了你的问题,让我解释一下。

这个函数myString.Split返回一个数组,你可以使用索引访问数组的每个元素[(0)表示你正在访问0位置的字符串]。 所以,如果你想要第二个值,你可以这样做:

myString.Split(Environment.NewLine)(1).ToString()

有关字符串拆分的更多信息,请访问以下链接: https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.strings.split?view=net-5.0

【讨论】:

  • 也许.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) + 缺少什么。 -- 为什么是Environment.NewLine?该字符串具有硬编码的\r\n 字符。 Environment.NewLine 可能是别的东西。
  • @Jimi vbCrLf 是一个常量,这就是 OP 所拥有的,因此 vbCrLf 是正确的使用
  • @Charlieface 这不是我说的(并且还评论了这个问题)吗?你在执行吗:)?
猜你喜欢
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-18
相关资源
最近更新 更多