选择性阅读,将文本存储在 VB
Selectively read, store text in VB
我有一个很长的一行 EDI 格式的文本文件,我需要找到一种方法来读取和存储文件的特定部分。在整个文件中,有几个“[UNWANTED TEXT]CLM*[NUMBER]*[UNWANTED TEXT]”实例,我需要能够获取 [NUMBER] 部分,并将其存储并显示在某处。我已经能够使用 Streamreader 读取整个文件并显示它,但我不知道如何将它缩小到我想要的部分。有什么建议吗?
我现在在 VB.NET 工作,但如果它提供更简单的方法,我愿意转向另一种语言。
感谢您提供的任何帮助。
您可以使用正则表达式识别模式,并通过 Regex
和 Match
类 的 System.Text.RegularExpressions
找到您想要的值。像这样的事情应该让你开始:
Imports System.Text.RegularExpressions
Public Function getCLM(ediString as string) as string
Dim regex As New Regex("CLM\*(\d*\.?\d*)")
Dim match As Match = regex.Match(yourString)
If match.Success Then Return match.Value
End Function
Dim yourString as String = ""
Dim clmNumber as string = getCLM(yourString)
在这种情况下,您必须将 EDI 字符串加载到您的字符串中。您可以通过使用 Regex101
之类的东西来查看我放在这里的正则表达式的功能
这是假设您的字符串只有一个匹配此模式。
我有一个很长的一行 EDI 格式的文本文件,我需要找到一种方法来读取和存储文件的特定部分。在整个文件中,有几个“[UNWANTED TEXT]CLM*[NUMBER]*[UNWANTED TEXT]”实例,我需要能够获取 [NUMBER] 部分,并将其存储并显示在某处。我已经能够使用 Streamreader 读取整个文件并显示它,但我不知道如何将它缩小到我想要的部分。有什么建议吗?
我现在在 VB.NET 工作,但如果它提供更简单的方法,我愿意转向另一种语言。
感谢您提供的任何帮助。
您可以使用正则表达式识别模式,并通过 Regex
和 Match
类 的 System.Text.RegularExpressions
找到您想要的值。像这样的事情应该让你开始:
Imports System.Text.RegularExpressions
Public Function getCLM(ediString as string) as string
Dim regex As New Regex("CLM\*(\d*\.?\d*)")
Dim match As Match = regex.Match(yourString)
If match.Success Then Return match.Value
End Function
Dim yourString as String = ""
Dim clmNumber as string = getCLM(yourString)
在这种情况下,您必须将 EDI 字符串加载到您的字符串中。您可以通过使用 Regex101
之类的东西来查看我放在这里的正则表达式的功能这是假设您的字符串只有一个匹配此模式。