Vb.net 在VB中删除文本框中7个字符长的字符串的所有实例

Vb.net 在VB中删除文本框中7个字符长的字符串的所有实例,vb.net,Vb.net,我有两个文本框。第一个包含此文本,如图所示。 我需要删除每行的前7个字符,然后在第二个框中显示编辑的文本。 第一个数字每次都不一样,所以我不能用这个 RawText.Text = Replace(RawText.Text, "1757792", " ") TextFilter.Text = RawText.Text 因为每行的数字都会改变。 有没有办法让按钮删除任何7个字符长的文本的所有实例 1757792 02 08 09 10 15 21 22 29 34 40 44 46 48 53 5

我有两个文本框。第一个包含此文本,如图所示。
我需要删除每行的前7个字符,然后在第二个框中显示编辑的文本。
第一个数字每次都不一样,所以我不能用这个

RawText.Text = Replace(RawText.Text, "1757792", " ")
TextFilter.Text = RawText.Text
因为每行的数字都会改变。
有没有办法让按钮删除任何7个字符长的文本的所有实例

1757792 02 08 09 10 15 21 22 29 34 40 44 46 48 53 58 68 69 71
1757793 01 07 16 20 22 25 30 36 38 39 42 48 49 51 58 66 70 72 79 80
1757794 01 02 07 09 10 18 29 32 35 36 48 53 54 56 62 65 68 69 71 73
1757795 01 02 06 09 12 18 23 27 30 35 43 52 57 59 60 61 62 73 74 76
1757796 01 11 14 18 19 22 31 34 41 45 46 54 57 61 70 71 72 79 80
17577970108101819213241434445546162646668737480
1757798 02 03 06 09 10 23 27 28 33 36 38 41 49 53 60 61 64 73 74 80
1757799 02 12 16 34 36 44 51 52 55 57 58 59 64 71 73 76 78 79 80
1757800 05 11 13 17 19 23 24 27 31 34 38 39 45 48 61 67 73 79 80
1757801 17 23 29 31 35 38 43 45 48 51 56 57 60 64 65 66 67 73 77 78
1757802 05 06 11 14 17 20 21 27 28 29 33 41 45 49 58 66 67 73 79 80
1757803 06 07 10 11 12 19 20 21 25 30 33 38 42 46 51 65 66 75 80

1757804 06 14 16 19 20 23 32 42 43 44 48 52 62 67 68 71 72 74 78

您可以使用String.Split在vbCrLf(换行符)处拆分文本,然后使用String.SubString选择从索引8开始的字符串分隔符,现在就是了

正如GSerg所指出的,如果您想替换所有7位数字,请尝试以下方法:

Dim ResultString As String
Try
    ResultString = Regex.Replace(SubjectString, "\d{7}", "", RegexOptions.Singleline)
Catch ex As ArgumentException
    'Syntax error in the regular expression
End Try

您可以使用字符串方法,如
Substring
。如果确实要删除前7个,可以使用
String.Substring

Dim txt2Lines = From l In RawText.Lines
                Let index = Math.Min(l.Length, 7)
                Select l.Substring(index)
txt2.Lines = txt2Lines.ToArray()
这也适用于线条较短的情况

请注意,它不会删除前导空格,因为它不是前七个字符的一部分。您可以使用
l.Substring(index).TrimStart()

另一种方法是搜索第一个空间并删除之前的所有内容:

Dim txt2Lines = From l In RawText.Lines
                Let index = Math.Max(l.IndexOf(" "), 0)
                Select l.Substring(index)
txt2.Lines = txt2Lines.ToArray()

String.IndexOf
如果未找到子字符串,则返回
-1
,这就是我使用
Math.Max(l.IndexOf(“”,0)
的原因。在这种情况下,应该使用完整的行。

感谢您发布了一系列字符串,这些字符串由数字组成,并遵循一种明确定义的格式,仅用几个示例就可以很好地解释这一点。现在一切都变得更加清晰和吸引人了。不幸的是(在我看来),你的帖子离题了,因为你明确要求按照你的要求构建一个代码,而你自己没有做任何实际的努力来完成给定的功能。
删除每行的前7个字符
删除任何文本的所有实例7个字符
是不同的任务。真正的前7个或更多的任务直到第一个空格?
TextBox
已经有了.Wow。我已经使用文本框很久了,从来没有注意到这个属性。很好,谢谢你指出这一点。我刚刚回到这个项目,我仍然有一个问题,结果是在一个连续的刺,而不是在个别行?Dim txt2Lines=From l In RawText.Lines让index=Math.Min(l.Length,7)选择l.Substring(index)。TrimStart()txt2Lines=txt2Lines.ToArray()对于txt2Lines TextFilter.Text+=item nexte中的每个项,即使在一个连续的行中,您也可以使用我建议的正则表达式。我应该继续工作。但也可以使用string.SubString-Method拆分字符串。示例中的行都具有相同的长度。把它分成几行应该不会太难。