2017-02-10 4 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) 

OUTPUT:アンダースコアまたはアステリックの代わりにタブが表示されます。

enter image description here

+2

「Dim Replaced As String = MyStringVariable.Replace(vbTab、 "_") 'はどうですか? – Waescher

+0

vbCrLfとvbTabは関数ではありません。技術的には、コントロールコードを表す定数です(vbTabはタブの制御文字として定義され、vbCrLfはキャリッジリターン+改行です)。 –

+0

これを行う方法の例の負荷。 Googleはあなたの友人です。 – Bugs

答えて

1

あなたの問題は、あなたが「vbTab」5文字の文字列リテラルではなく、タブ文字を置き換えるためにしようとしているということです。

これがあると思われるように置き換えあなたのReplace関数で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) 

にアンダースコアを取得します2つの連結演算子で囲まれたタブ文字を置換しようとしました。連結演算子は文字列内に決して置かれず、最初の置換が実行された後は、とにかくvbTabsが残っていません。

関連する問題