Word互操作C#范围中的不间断连字符

Word互操作C#范围中的不间断连字符,c#,ms-word,vsto,office-interop,non-breaking-characters,C#,Ms Word,Vsto,Office Interop,Non Breaking Characters,请帮忙。 我有密码。代码搜索@”“/(像3-2-1-123-15这样的字符串),并将超链接放在上面。但是想象一下,如果 3-2-1-123-15 数字之间有不间断的连字符。如果我将范围设置为文本(string s=rng.text;)(我需要它,因为我在超链接中使用了相同的字符串:rngFound.range.Hyperlinks.Add(rngFound.range,hyperlink+rngFound.text))然后我将有: 32112315 情况。但我怎么能有带“-”的字符串呢。我的意思

请帮忙。 我有密码。代码搜索
@”“/(像3-2-1-123-15这样的字符串)
,并将超链接放在上面。但是想象一下,如果

3-2-1-123-15

数字之间有不间断的连字符。如果我将范围设置为文本(
string s=rng.text;
)(我需要它,因为我在超链接中使用了相同的字符串:r
ngFound.range.Hyperlinks.Add(rngFound.range,hyperlink+rngFound.text))然后我将有:

32112315

情况。但我怎么能有带“-”的字符串呢。我的意思是如何用“-”替换不间断的连字符。我需要在word文本中替换它吗?(它不是很好)。如果我这样做了,那么如何使用函数:

Word.Selection FindAndReplace2(Word.Selection rngToSearch, object findText, object replaceWithText) //Find function
        {
            bool found = false;
            //options
            object matchCase = false;
            object matchWholeWord = true;
            object matchWildCards = true;
            object matchSoundsLike = false;
            object matchAllWordForms = false;
            object forward = true;
            object format = false;
            object matchKashida = false;
            object matchDiacritics = false;
            object matchAlefHamza = false;
            object matchControl = false;
            object read_only = false;
            object visible = true;
            object replace = true;
            object wrap = Word.WdFindWrap.wdFindStop; ;

            //execute find and replace
            found = rngToSearch.Find.Execute(ref findText, ref matchCase, ref matchWholeWord,
                ref matchWildCards, ref matchSoundsLike, ref matchAllWordForms, ref forward, ref wrap, ref format, ref replaceWithText, ref replace,
                ref matchKashida, ref matchDiacritics, ref matchAlefHamza, ref matchControl);
            if (!found)
            {
                rngToSearch = null;
            }

            return rngToSearch; 

非中断连字符的符号是ANSI 31:
。这可以包含在搜索字符串中,如下所示

(<(3)[-^~¬]([1-4])[-^~¬]([1-4])[-^~¬]([0-9]{1;3})?([0-9]{2})>

是的,谢谢。我是这样做的:
Word.Selection rngFound=findandplace(app.Selection,searchTerm2,”)//搜索和包装。字符串foundNr=rngFound.Text;字符串hyperlinkNr=foundNr.Replace((char)30,(char)45)@VladyZautin
((char)30)
((char)31)
?一旦你确认了,我会把它编辑成答案……现在
((char)30)
对我有效。它与Word中的
ctr+Shift+“-”
相同。
string foundNr = rngToSearch.Text;
string hyperlinkNr = foundNr.Replace("¬", "-");