如何处理单词范围之间的文本中的非破坏连字符?

时间:2016-03-07 06:58:57

标签: c# text ms-word range

我的一些文字中包含非破坏连字符。我需要输出文本。但是我删除了不打破连字符的文本。

Word.Range rangeObj = _wordDoc.Range(ref x, ref y);
txt += rangeObj.Text;

我正在使用上面的代码。在txt变量中我得到输出但删除了非断开连字符。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

txt = Regex.Replace(txt, "[\u001e|\u2011|\u2013|\u2014]", "-");

我有一个解决方案。我们可以使用上面的代码行替换正常连字符的非断开连字符:

答案 1 :(得分:0)

我不知道c#,但在VBA Range.FormattedText中运行正常。试试rangeObj.FormattedText

例如,这在VBA中可以正常工作。

Sub test()
    Set oRng = ActiveDocument.Paragraphs(1).Range
        s = oRng.FormattedText
        oRng.InsertAfter s
    Set oRng = Nothing
End Sub