1

テキスト文字列の後にテキストが続く場合に、テキスト文字列の「&」を置き換える方法を探しています。例えば;

入力テキスト: "Ne&w && Edit Record"必須出力:New&Edit Record "

「Ne&w」の理由は、「&」がショートカットキーとしてwを表示するため(UIで下線が引かれている)、「&&」の理由は、テキストに単一の「&」が表示されるためです。

コマンドボタンのテキストプロパティの値として入力テキストを使用すると、テキストは期待どおりに表示されますが、textプロパティをメッセージボックスに渡すと、メッセージボックスダイアログに入力テキストが表示されます。

タグプロパティを別の値に使用するため、タグプロパティを使用して必要なメッセージをメッセージボックスに保存したくありません。

4

2 に答える 2

2

これを試して:

Dim input As String = "Ne&w && Edit Record"
Dim output As String = "New & Edit Record"
Dim p As String = Regex.Replace(input, "&(?<first>\w|&)", "${first}")
MessageBox.Show(output = p) 'shows True

上記の正規表現では、アンパサンドの後に文字または別のアンパサンドが続くものをキャプチャし、そのシーケンスをアンパサンドの後の記号に置き換えています。<first>名前付きグループであり、正規表現の置換に使用されます。

MSDN の Regex.Replace を参照してください。

于 2013-03-13T18:05:10.447 に答える
1

&記号が続いていないすべての記号を削除できます&。次のように一致させます。

&(?!&)

実際に見る

于 2013-03-13T18:09:35.290 に答える