1 vb.net
我想删除"H"和它后面的数字.我只想要"B".我知道如何删除"H",但我不确定如何删除H"之后的数字.H"之后的数字可能从一位数到三位数不等.
H1 B
H2 B
H10 B
H11 B.
我正在尝试这个.如果"H"之后的数字是单个数字,则它有效.如果"H"之后的数字超过一位数,它将无法工作.
If line.Contains("H") Then
line = line.Remove(0, 2)
End If
' ...
Dim AllFiles As String() = IO.Directory.GetFiles("C:\test")
For Each File As String In AllFiles
Dim newfile As New List(Of String)
For Each line As String In System.IO.File.ReadAllLines(File)
If line.Contains("H") Then
line = line.Remove(0, 2)
End If
newfile.Add(line)
Run Code Online (Sandbox Code Playgroud)

正则表达式可以解决这个问题:
Imports System.Text.RegularExpressions
Module Module1
Sub Main()
Dim input = IO.File.ReadAllText("input.txt")
Dim output = Regex.Replace(input, "H\d+", "")
IO.File.WriteAllText("output.txt", output)
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
神奇的部分是"H\d +",它翻译成"字母H",后跟一个数字("\ d"),重复至少一次.
RegularExpressions很容易习惯.但幸运的是,网上有大量的文档和示例.只是谷歌吧 :)
编辑:史蒂文Doggart正确地指出:
如果您想删除数字后面的空格,请将表达式更改为"H\d +".
如果您只想在每行的开头匹配/替换它,请将其更改为"^ H\d +".