gpt4 book ai didi

vb.net - AppendLine 和替换

转载 作者:行者123 更新时间:2023-12-04 10:11:30 26 4
gpt4 key购买 nike

我想从

223-F456



223-F456

223-F456#

223-F4560

223-#456

我为此做了简单的代码,但只在行尾添加 #,0 有效:
 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sb As New StringBuilder
For Each line In TextBox1.Lines
sb.AppendLine(line)
sb.AppendLine(line & "#")
sb.AppendLine(line & "0")
sb.Replace(line.LastIndexOf("-") + 1, "#") -> this doesn't work
Next
TextBox2.Text = sb.ToString

输出:

223-F456

223-F456#

223-F4560

字母并不总是“F”:我想替换“-”之后的第一个字母而不是替换“F”,也可能有些连续剧有“F”字母不是我想要的。

商店中的简单产品系列,但替换“-”后的字符串不起作用且不显示,任何帮助将不胜感激。

最佳答案

您可以使用 String.RemoveString.Insert像这样:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sb As New StringBuilder()

For Each line In TextBox1.Lines
sb.AppendLine(line)
sb.AppendLine(line & "#")
sb.AppendLine(line & "0")
Dim replaceAt = line.LastIndexOf("-") + 1
sb.AppendLine(line.Remove(replaceAt, 1).Insert(replaceAt, "#"))
Next

TextBox2.Text = sb.ToString()

End Sub

或者,如果您愿意,则可以使用 String.Substring功能:
    sb.AppendLine(line.Substring(0, replaceAt) & "#" & line.Substring(replaceAt + 1))

也可以使用正则表达式进行替换,我希望其他人可以提出更好的正则表达式,但这有效:
    Dim re As New Regex("(.*-)([^-])(.*)")
For Each line In TextBox1.Lines
' ...
sb.AppendLine(re.Replace(line, "$1#$3"))

关于vb.net - AppendLine 和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61317352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com