1

我正在寻找一种在文本字符串后面替换“&”的方法。例如;

输入文本:“New&w && Edit Record” 所需输出:New & Edit Record”

"New&w" 的原因是 "&" 然后将 w 显示为快捷键(在 UI 中下划线),而 "&&" 的原因是在文本中显示单个 "&"。

当使用输入文本作为命令按钮上文本属性的值时,文本会按预期显示,但是当我将文本属性传递给消息框时,它会在消息框对话框中显示输入文本。

我不想使用 Tag 属性将我想要的消息存储在消息框中,因为我将 tag 属性用于另一个值。

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

在上面的 Regex 表达式中,我捕获了一个&符号,后跟一个字母或另一个&符号,并用&符号后面的符号替换该序列。<first>是一个命名组,它用于正则表达式替换。

请参阅MSDN 上的 Regex.Replace

于 2013-03-13T18:05:10.447 回答
1

您可以删除所有&未跟随标志的&标志。像这样匹配它们:

&(?!&)

看到它在行动

于 2013-03-13T18:09:35.290 回答