如何在vb.net中从文本文件中只读数字

如何在vb.net中从文本文件中只读数字,vb.net,integer,Vb.net,Integer,大家好,正如主题所示,我想在VB.net中执行一个脚本,该脚本只从*.txt文件中获取数字 例如: 文本文件: asd4lkj5fdl jklj235 结果是: 45235 我在谷歌上做了一项研究,但什么也没找到,我确实在这里看到了答案,但只有C语言 我知道理论上应该是这样的: 读取每个字符循环,询问它是否为整数,如果不是,则将其添加到新字符串继续下一个字符,直到流结束 谢谢你的帮助 试试正则表达式,不包括从文件中读取文本的代码 Dim rgx As New Regex("[^\d]") Dim

大家好,正如主题所示,我想在VB.net中执行一个脚本,该脚本只从*.txt文件中获取数字

例如:

文本文件: asd4lkj5fdl jklj235

结果是: 45235

我在谷歌上做了一项研究,但什么也没找到,我确实在这里看到了答案,但只有C语言 我知道理论上应该是这样的: 读取每个字符循环,询问它是否为整数,如果不是,则将其添加到新字符串继续下一个字符,直到流结束


谢谢你的帮助

试试正则表达式,不包括从文件中读取文本的代码

Dim rgx As New Regex("[^\d]")
Dim result as String = rgx.Replace("asd4lkj5fdl jklj235", "")
  • 将文件读入字符串
  • 循环检查每个字符是否为数字

    Dim strTextFromFile As String = IO.File.ReadAllText("C:\filename.txt")
    
    Dim strResults As String = String.Empty
    
    For Each c As Char In strTextFromFile
    
        If IsNumeric(c) Then
    
            strResults += c
    
        End If
    
    Next
    
    MsgBox(strResults)
    

  • 你的谷歌搜索怎么会一无所获?如果我搜索“vb.net从文本中提取数字”或类似内容,我会找到很多结果,包括这个抱歉,但我在搜索中使用了其他句子…谢谢,我真的很感激!谢谢你,我真的很感激你!但是当我使用你的代码时,它告诉我输出是一个提示,我无法转换为字符串…现在试试,我错误地将字符串转换为字符数组将无法处理内容不是问题,问题是当我想在MsgBox中输入数字时,是当我收到关于无法转换为字符串的提示的消息时对不起,这是因为数字不是字符串,因为字符数组,但现在这段代码可以工作了:)我已经测试过了。谢谢,我真的非常感谢!
    Public Sub Test()
    
        Dim contents As String = File.ReadAllText("C:\\temp\\text.txt")
        Dim digits As New String(contents.Where(Function(c) Char.IsDigit(c)).ToArray())
        MessageBox.Show(digits)
    
    End Sub