如何查找给定的VB.Net字符串是否具有vbCrLf,vbTab和其他内置常量,然后将其替换为下划线或连字符等其他字符。我在下面的代码中停留了一段时间后无法获取弄清楚它为什么不被替换。
Dim msg As String
msg = "Hello I am test message" & vbTab & vbTab & " After two tabs " & vbCrLf & "I am in next line"
msg = msg.Replace("vbTab", "____")
msg = msg.Replace("&vbTab&", "****")
MessageBox.Show(msg)
输出:我得到标签而不是下划线或星号。
答案 0 :(得分:1)
您的问题是您正在尝试替换5个字符的字符串" vbTab"而不是Tab字符。
在替换功能中删除vbTab周围的引号,您将在输出中获得下划线
Dim msg As String
msg = "Hello I am test message" & vbTab & vbTab & " After two tabs " & vbCrLf & "I am in next line"
msg = msg.Replace(vbTab, "____")
''msg = msg.Replace("&vbTab&", "****") No idea how to fix this as it will never match anything
MessageBox.Show(msg)
我不知道你在第二次替换时想要实现的目标,因为这似乎是在尝试替换由两个连接运算符包围的制表符。连接运算符永远不会出现在字符串中,并且在执行第一次Replace之后,无论如何都不会保留任何vbTab。