我正在使用以下代码片段从单词列表构造一个正则表达式字符串:
foreach (String w in ar)
{
c= $@"\b{w}\b|"; //**
result = result + c;
}
数组ar中的第一个单词是“can”。在执行星号行后检查调试器中c的值时,调试器显示以下值。
"\\bcan\\b\b|"
我想我有点理解为什么反斜杠加倍,但我不明白为什么它在垂直条之前的末尾包含一个额外的“\ b”。
好的,我已经尝试了评论中建议的实验。 将此代码放入例程
foreach (String w in ar)
{
System.Diagnostics.Debug.WriteLine("w='" +w + "'");
c= $@"\b{w}\b|";
System.Diagnostics.Debug.WriteLine("c='" + c + "'");
result = result + c;
}
我在控制台中得到了这个结果:
w='can'
c='\bcan\b|'
但是调试器仍然在监视表达式中显示异常字符串值。有人可以解释那是什么吗?