2017-02-10 78 views
-2

如何查找給定的VB.Net字符串是否具有vbCrLf,vbTab和其他內置常量,然後用其他字符替換它們下劃線或連字符等。我被困在下面的代碼一段時間,無法弄清楚爲什麼它不被替換。如何查找VB字符串變量是否具有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) 

輸出:我得到tab而不是下劃線或asterich。

enter image description here

+2

怎麼樣'Dim Replaced As String = MyStringVariable.Replace(vbTab,「_」)'? – Waescher

+0

vbCrLf和vbTab不是功能。從技術上講,它們是代表控制代碼的常量(vbTab被定義爲製表符控制字符,vbCrLf是回車+換行符。) –

+0

負載示例如何執行此操作。 Google是你的朋友。 – Bugs

回答

1

你的問題是,你正在試圖取代的5個字符「vbTab」一個字符串,而不是製表符。

在替換功能刪除周圍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保留。

相關問題